我尝试在python中添加两个稀疏向量。到目前为止,我能够添加和合并向量。但我最终迷失了这给我的‘int’对象是不可原谅的错误。另外,当这些稀疏向量被转换成python字典时,我想知道如何在字典中包含零值。在
def SparseVec(numbers):
dic={}
for key,val in enumerate(numbers):
if val:
dic[key]=val
return dic
numbers=[-1,0,9.2,0]
a=SparseVec(numbers)
print(a)
numbers2=[0,1,0,0,0]
b=SparseVec(numbers2)
print(b)
#Adds and merges values with keys in two dictionaries
def merged_dictionaries(a,b):
merged_dict={}
for key in a:
if key in b:
new_value=a[key]+b[key]
else:
new_value=a[key]
merged_dict[key]=new_value
for key in b:
if key not in merged_dict:
merged_dict[key]=b[key]
return merged_dict
c=merged_dictionaries(a,b)
for key, val in c.items (): # SparseVec iterator
print ('c[%d]=%g ' % (val, key))
print(c)
控制台错误:
^{pr2}$
目前没有回答
相关问题 更多 >
编程相关推荐