我有一个给定的列表,有49个变量,每个变量的值在1-5之间。我想将所有变量的值更改为5到零。 这是我尝试过的:
For element in listb:
If element == 5:
element = 0
但它没有任何影响,问题是什么? 谢谢 文德尔
答案 0 :(得分:0)
使用列表理解:
listb = [n if n!=5 else 0 for n in listb]
这是
的更有效替代方案 for index in range(listb):
if listb[index] == 5:
listb[index] = 0
for element in listb:
元素中的实际值是复制的原语。
如果我们这样做会有所不同:
listb = [[1],[5],[3]]
for element in listb: #element is a copied reference, but to the same element in listb
if element[0] == 5:
element[0] = 0