更改列表中多个变量的值

时间:2018-06-13 14:12:09

标签: python python-3.x

我有一个给定的列表,有49个变量,每个变量的值在1-5之间。我想将所有变量的值更改为5到零。 这是我尝试过的:

 For element in listb:
        If element == 5:
            element = 0

但它没有任何影响,问题是什么? 谢谢 文德尔

1 个答案:

答案 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