【问题标题】:Using for loop to amend a list of variables [duplicate]使用for循环修改变量列表[重复]
【发布时间】:2021-04-06 19:53:27
【问题描述】:

我有下面的代码,目的是遍历定义的变量列表并更新它们。

a = 1
b = 2
c = 3
test_list = [a, b, c]
print(test_list)

for i in test_list:
    i = 4

print(test_list)

当我运行它时,test_list 变量并没有改变。任何想法我做错了什么?

【问题讨论】:

  • test_list 在任何意义上都不是“已定义变量的列表”。这只是列表[1, 2, 3] - 这些值来自的变量不再相关。
  • 列表不包含变量。列表包含对象。变量引用对象i = 4 只是将int 对象分配给变量i,不会影响您拥有的任何其他变量。
  • 谢谢大家。有道理!

标签: python for-loop variables


【解决方案1】:

您的for 循环在一个名为i 的变量中为您返回列表中的每个元素,一次一个。所以,第一次循环时,i 是 1。然后你将 i 更改为 4。这与列表无关。

可以按照你的要求去做:

for i in range(len(test_list)):
    test_list[i] = 4

但通常有更好的方法来做这种事情。告诉我们您真正想要什么,我们可以为您提供建议。

【讨论】:

    猜你喜欢
    • 2017-11-02
    • 2017-03-05
    • 2020-04-05
    • 2010-11-06
    • 2020-05-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多