关于稀疏矩阵存储作业的问题
稀疏矩阵是一系列数字,其中大部分项是0。存储稀疏矩阵的一个高效方式是字典,其中键是非0值的位置,值是序列中该位置对应的值。例如,序列0 0 0 0 0 4 0 0 2 9可以表示为字典{5:4,8:2,9:9}。编写函数sparseArraySum,参数是两个这样的字典a和b,得到一个表示向量和的稀疏矩阵。也就是说,结果中位置i的值是a和b中位置i上值的和。假设稀疏矩阵数字序列长度为10。输入格式:
两个表示稀疏矩阵的数字序列,数字之间空格分隔,结尾无空格,回车换行输入下一个数字序列
输出格式:
一个表示稀疏矩阵求和结果的数字序列,数字之间空格分隔,结尾无空格
输入样例:
1 0 3 0 0 4 0 0 2 6
6 0 0 0 1 2 0 0 0 3
输出样例:
7 0 3 0 1 6 0 0 2 9
def sparseArraySum(a,b):
return a+b
i = input()
list1= list(map(int, i.split(" ")))
n = input()
list2= list(map(int, n.split(" ")))
c=list(map(sparseArraySum,list1,list2))
print(" ".join(str(i) for i in c))
c=list(map(sparseArraySum,list1,list2))这里是怎么求和的
" ".join(str(i) for i in c这里是不是通过空格来链接i然后返回新的字符串
本帖最后由 ouyunfu 于 2020-4-26 02:40 编辑
#map函数的原型是map(function, iterable, …),它的返回结果是一个列表。
#参数function传的是一个函数名,可以是python内置的,也可以是自定义的。
#参数iterable传的是一个可以迭代的对象,例如列表,元组,字符串这样的。
#这个函数的意思就是将function应用于iterable的每一个元素,结果以列表的形式返回。注意到没有,iterable后面还有省略号,意思就是可以传很多个iterable,如果有额外的iterable参数,并行的从这些参数中取元素,并调用function。如果一个iterable参数比另外的iterable参数要短,将以None扩展该参数元素。
#举个简单的例子:
def add(x,y,z):
return x+y+z
list1=
list2=
list3=
res=map(add,list1,list2,list3)
print(res)
" ".join(str(i) for i in c这确实是通过空格来链接str(i)然后返回新的字符串 我就看看,领个鱼币 我也是看看领鱼币
页:
[1]