python - 如何更新python中的变量列表?

标签 python list variables

这是我在使用 Python 编程时遇到的一个令人恼火的问题。用户可以将各种变量附加到列表中,但是,稍后访问该列表时仍将显示与首次分配时相同的结果。例如下面

a=1
b=2
list = [a,b] #user defined order
print list # 1,2
a=2
print list # prints 1,2

我需要列表来打印 2,2。但是我找不到动态更新列表以适应变量的任何顺序的方法(很多方法都是硬编码,我在网上看到过,例如在需要更新时分配列表 = [a,b] 但是我不知道是否它的 b,a 或 a,b)

帮助将不胜感激。谢谢

编辑:我的问题是不同的,因为是关于需要在列表中动态更新的变量,而不是简单地更改列表项。

最佳答案

您需要更新列表而不是变量:

a = 1
b = 2
lst = [a, b]  # the list now stores the references a and b point to
              # changing a later on has no effect on this!  
lst[0] = 2

请不要使用 list 作为变量名!这是 python 中的一个 keyword 内置类型,覆盖它是一个非常糟糕的主意!

如果您只知道列表中元素的值(并且这个值是唯一的),您可以这样做:

old_val = 2
new_val = 3

lst[lst.index(old_val)] = new_val

关于python - 如何更新python中的变量列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41398763/

相关文章:

python - 如何告诉 Pychecker 忽略导入的库?

python - 导入并运行文件夹中的所有模块

c# - 返回列表 1 和列表 2 中的项目匹配的列表

javascript - 使用对象

Python 比较列表平均值排序

.net - 是/否消息框总是返回是 - VB.Net

python - 如何使用 Python 获取具有最大值的行?

python - 在 Python 中将 .dbf 批量转换为 .csv

php - 使所有变量成为全局变量,PHP

php - 在 PHP 中的类上使用可变变量 (CodeIgniter)