假设我有一个for
循环。在每个循环之后,我得到一个我想要存储在列表中的结果。
我想写这样的东西,但它不起作用:
for i in range(50):
"result_%d" %i = result
假设result
是包含每个循环后结果的列表。
我想这样做是为了为每个结果提供一个不同的列表,所以我可以在循环结束后使用它们。
有没有办法做到这一点?
注意:我考虑将所有结果列表存储在一个大列表中。但代码不会那么重吗?注意到每个结果列表的大小为60。
答案 0 :(得分:1)
我考虑过将所有结果数组存储在一个大数组中。但代码不会那么重吗?
在Python中,一切都是对象,名称和列表内容只是对它们的引用。创建包含对现有值的引用的新列表对象非常轻量级。
不要尝试创建动态变量,只需将结果存储在另一个列表或字典中。
在这种情况下,这很简单:
results = []
for i in range(50):
# do things
results.append(result)
然后和results
是一个列表,其中包含50个对其他列表对象的引用。这与引用这50个列表对象的50个名称没有什么不同,除了它现在 更容易解决它们。