【问题标题】:Python - Assign/combine multiple variable to a single listPython - 将多个变量分配/组合到一个列表
【发布时间】:2020-07-02 05:21:26
【问题描述】:

我想知道是否可以将多个变量分配给单个列表 我知道的一种方法是通过“追加”命令将每个变量值添加到列表中。

x=2
y=4
a=[]
a.append(x)
a.append(y)

但是有没有其他有效的方法可以做到这一点,因为附加超过 10 个变量既不高效又冗长(代码)。

【问题讨论】:

  • 您在寻找a = [x, y]吗?
  • (再说一次,使用 n 个单独的变量,您将很难使用小于比例的空间将它们放入列表中。(它 不过,在 Python 中是可能的。而且它没有完成是有原因的。))
  • @juanpa.arrivillaga 是的,我已经尝试过了。对吗?

标签: python list variables append assign


【解决方案1】:

如果您的变量遵循一些命名约定 - 那么您可以使用 locals() 将它们动态添加到列表中。虽然我不建议你使用它。

这是一个所有变量名称都以var_开头的示例

var_1 = 0
var_2 = 3
var_3 = 6
var_4 = 9

my_list = []

# make a copy since `locals()` will keep changing
locals_now = dict(locals())
# iterate over the variables & add to list
for k, v in locals_now.items():
    if k.startswith('var'):
        my_list.append(v)

print(my_list)

输出:

[0, 3, 6, 9]

【讨论】:

  • 假设它们按字母顺序排列。像-x,y,z。然后可以声明一个 ASCII 值为 x 的变量,并在每次 locals() 迭代后增加。
猜你喜欢
  • 1970-01-01
  • 2013-02-20
  • 1970-01-01
  • 1970-01-01
  • 2017-08-02
  • 1970-01-01
  • 2019-12-19
  • 2012-01-15
  • 1970-01-01
相关资源
最近更新 更多