该字典的值如何乘以2?
d = {'a': (1,2), 'y': (2,4), 'z': (10,3)}
我明白了
for i in d:
print(d[i]*2)
[1, 2, 1, 2]
[2, 4, 2, 4]
[10, 3, 10, 3]
但我要实现:
[2,4]
[4,8]
[20,6]
答案 0 :(得分:0)
您正试图乘以一个元组,从而导致元组中的值重复。相反,要与元组进行代数交互,必须一次这样做一个值。
for i in d:
print(d[i][0]*2, d[i][1]*2)
答案 1 :(得分:0)
您需要遍历字典值,并将每个元素乘以2,而不是元组* 2:
d = {'a': (1,2), 'y': (2,4), 'z': (10,3)}
for x in d.values():
print([y*2 for y in x])
# [2, 4]
# [4, 8]
# [20, 6]
您正在做的是
>>> tupl = (1, 2)
>>> tupl * 2
(1, 2, 1, 2)
答案 2 :(得分:0)
在这里您需要进行列表理解
d = {'a': (1,2), 'y': (2,4), 'z': (10,3)}
for k in d.keys():
d[k] = [2*x for x in d[k]]
print(d)
{'a': [2, 4], 'y': [4, 8], 'z': [20, 6]}