擅长:python、mysql、java
<p>这应该可以做到:</p>
<pre><code>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)}
for k, v in x.items():
x[k] = tuple(v[i] * y[i] for i in range(len(y)))
</code></pre>
<p>或者(正如Alex Hall在下面的评论中建议的那样),您可以使用<code>zip</code>函数,如下所示:</p>
^{pr2}$
<p>我建议用上面的方法代替你原来的方法。但是为了将来参考,您得到错误<code>dict has no attribute 'extend'</code>的原因是<code>extend()</code>是一个列表方法,而不是字典方法。当您试图调用<code>res.extend()</code>时,它将引发此异常,因为<code>res</code>是<code>dict</code>,而不是<code>list</code>。如果要向dict添加多个键/值对,请使用<a href="https://docs.python.org/3/library/stdtypes.html#dict.update" rel="nofollow noreferrer">^{<cd8>}</a>方法。在</p>