【问题标题】:how to create list with index in name in python如何在python中使用名称中的索引创建列表
【发布时间】:2015-08-07 16:08:29
【问题描述】:

我可以在 python 中创建一组名称中包含索引 i 的列表吗?

for i in range(0,5):
    list_i = []  # here i should change according to index i

我想创建 5 个包含名称的列表: list_0, list_1 ... _list_4 并将某些内容附加到这些列表中。

【问题讨论】:

标签: python list indexing


【解决方案1】:

只需使用列表字典。

results_dict = {}
for i in range(5):
    results_dict[i] = []

【讨论】:

  • 好的,非常感谢,所以只有字典才有可能......我认为还有另一种方法可以从字符串创建列表......
  • 有一些超级 hacky 的方法来使用动态变量名,但没有理由使用它们。使用字典要容易得多/可读。
【解决方案2】:

这可能不是很简单,但我不称之为超级hacky。在某些情况下使用动态命名非常有用。

for i in range(5):
    vars()['list_%d'%i] = i

print(list_1)
print(list_2)
print(list_3)
print(list_4)

列表版本

for i in range(5):
    vars()['list_%d'%i] = [i, i+1]

print(list_1)
print(list_2)
print(list_3)
print(list_4)

【讨论】:

  • vars()['list_%d' %i] = [] 是否有效?换句话说,像OP的问题一样初始化为一个空列表?
猜你喜欢
  • 1970-01-01
  • 2023-04-04
  • 1970-01-01
  • 2022-08-14
  • 2019-06-06
  • 2019-07-27
  • 1970-01-01
  • 2020-11-14
  • 1970-01-01
相关资源
最近更新 更多