In python create a list with a variable in the name
本问题已经有最佳答案,请猛点这里访问。
我尝试使用Python中的for循环生成一系列(空)列表,我希望列表的名称包含一个变量。例如,y0、y1、y2等。理想情况下看起来如下:
1 2 | for a in range (0,16777216): global y(a)=[] |
你为什么不做一本列表词典?
1 2 3 | y = {} for a in range (0,16777216): y[a] = [] |
也为了简洁起见:https://stackoverflow.com/a/1747827/884453
1 | y = {a : [] for a in range(0,16777216)} |
不确定这是否完全是你想要的,但是你不能通过简单地创建一个列表来模仿相同的行为吗?因此,
也许你应该查一下DefaultDict
1 2 3 4 | form collection import defaultdict # This will lazily create lists on demand y = defaultdict(list) |
另外,如果您希望对键进行约束,则重写默认的
1 2 3 4 5 | def __getitem__(self, item): if isintance(item, int) and 0 < item < 16777216: return defaultdict.__getitem__(self, item) else: raise KeyError |
答案是:不要这样做,而是创建一个列表,以便您使用