【发布时间】:2019-03-25 16:17:03
【问题描述】:
假设我们有一个列表variables,其中包含变量[a, b, c]。代码应检查变量值是否为带有文本"None" 的字符串类型。如果为真,变量值应更新为""。使用 for 循环,我会写:
a = 1
b = 2
c = 3
variables = [a, b, c]
for i in range(len(variables)):
variables[i] = 55
print(variables)
print(a, b, c)
这个输出:
[55, 55, 55]
1 2 3
为什么变量不更新它们的值?
【问题讨论】:
-
您没有变量列表。您有一个值列表。阅读nedbatchelder.com/text/names.html。
-
您需要更新列表本身,而不是列表的单个项目。
-
相关(基本上是相反的问题):How to update a list of variables in python?
-
@deceze 这些重复项肯定解决了 OP 的问题,但它们无法解释为什么 OP 的代码不起作用。 OP专门询问为什么代码不起作用。我认为这应该重新开放。 (我试图找到更好的副本,但找不到。)
-
@deceze 对我重新提出问题有异议吗?
标签: python python-3.x list for-loop