我正在创建一个列表python文件。我在那里创建了大量列表,并每天添加新项目和列表。我想创建一个列表,该列表将自动包含先前列表的所有项目。我该怎么办?
list_1=['1','one','first',etc...]
list_2=['2','two', 'second', '2nd', etc]
.
.
list_x=['x', 'cross']
all_list=list_1+list_2+....+list_x+... #this will update automatically
该怎么做?
答案 0 :(得分:3)
实际上,可以通过更适当地选择数据结构来解决此问题。如果某些项目相关,则应将它们一起存储在容器中,例如dict
或列表列表中。这样做既可以使它们更易于访问,又可以清理示波器。
all_lists = {
'1': ['1', 'one', 'first', ...],
'2': ['2', 'two', 'second', ...],
...: ...,
'x': ['x', 'cross']
}
您现在可以访问特定列表...
list_1 = all_lists['1']
...检查列表中是否有项目。
if any(item in lst for lst in all_lists.values())
print('The item is all_lists')
...或使用嵌套循环遍历所有列表。
for lst in all_lists.values():
for item in lst:
print(item)
答案 1 :(得分:2)
如果您要收集所有列表,此代码即可完成工作。
def generate_list():
l = [globals()[name] for name in globals().keys() if name.startswith('list_')]
return [item for sublist in l for item in sublist]
list_1 = [1]
list_2 = [2]
list_3 = [3]
print(generate_list())
结果:[1, 2, 3]