Python: 在列表名称中加入for循环的索引

2 投票
3 回答
8617 浏览
提问于 2025-04-15 17:12

如何生成一组列表,并且这些列表的名字里包含一个循环的索引:

for j in range(10):
   li"j" = []

怎么才能让这个索引'j'成为列表名字的一部分,这样列表的名字就可以是li0、li1、li2,依此类推……

谢谢!

3 个回答

0

其实你可以用exec来做到这一点,像这样:

exec ("li%s = []" % 4)

不过别这么做。你几乎肯定不想要动态命名的变量。Greg Hewgill的方法可能会更好地解决你的问题。

3

如果你只是想初始化一些列表,以便以后使用,那么你应该用一个多维列表,或者更好的选择是用元组来实现这个目的:

li = tuple( [] for i in range( 10 ) )
li[0].append( 'foo' )
li[5].append( 'bar' )
11

你可以把 li 变成一个 字典

li = {}
for j in range(10):
    li[j] = []

撰写回答