【发布时间】:2021-01-12 06:29:49
【问题描述】:
我有一个列表,其中一个元素是一个变量,它可以取 60 到 120 之间的值。
[0, 1, 2, 3, 4, v]
如果我想为 v 范围从 60 到 120 打印此列表:
for v in range(60,121):
print([0, 1, 2, 3, 4, v])
给出预期的结果。但是,如果我将此列表分配给一个变量,例如:
l = [0, 1, 2, 3, 4, v]
我收到一个错误,因为 v 未定义。如果我尝试为v 分配一个初始值,然后声明该列表,我不会再收到错误,但我会遇到v 已经分配了一个值的列表:
v = 60
l = [0, 1, 2, 3, 4, v]
for v in range(60,121):
print(l)
总是产生[0, 1, 2, 3, 4, 60]。
我尝试将此列表分配给变量的原因是,我在许多位置以更长的脚本使用此列表,并且我需要使用此列表为 60 到 120 范围内的某些计算执行 for 循环为v。一种解决方案是在每次需要使用列表时都键入它,但是如果我需要更改任何其他列表元素,这需要我替换脚本中此列表的所有出现。
我想我的问题是:有没有办法将包含变量 (v) 的列表作为元素分配给要在整个脚本中使用的变量 (l)?
有没有很好的编程方式来处理这样的事情?
【问题讨论】:
-
你想要的都是不可能的。当你使用一个变量时,它的值被复制,它不是对变量本身的引用。
-
除非你使用列表或字典的元素。
-
您正在寻找一个函数。列表,以及任何真正的东西,都不包含变量。变量用于源代码。您的列表包含对象。