我要乘一个元组。在
y = 0.1, 0.2, 0.2, 0.4, 0.1
x = {('S', 'A', 'C', 'T'): (0.2, 0.1, 0.9, 3, 4), ('S', 'C', 'T'): (0.4. 0.1, 0.3, 3,1)}
预期产量:
^{pr2}$我的代码是:
from fuctools import partial:
res = {}
keys = list(set.keys())
vals = list(set.values())
mul = lambda x, y: x*y
for n in vals:
res.extend(map(partial(mul, x), y))
res = dict(res)
print(res)
但是它会导致一个错误:dict没有属性'extend'
。在
这应该可以做到:
或者(正如Alex Hall在下面的评论中建议的那样),您可以使用
^{pr2}$zip
函数,如下所示:我建议用上面的方法代替你原来的方法。但是为了将来参考,您得到错误} 方法。在
dict has no attribute 'extend'
的原因是extend()
是一个列表方法,而不是字典方法。当您试图调用res.extend()
时,它将引发此异常,因为res
是dict
,而不是list
。如果要向dict添加多个键/值对,请使用^{我们可以跟着走
您可以在dictcomp中使用函数
starmap()
和运算符mul
:或者,您可以使用
^{pr2}$numpy.multiply()
:相关问题 更多 >
编程相关推荐