如何在Python的不同列表中添加很多列表项

时间:2019-07-07 13:24:04

标签: python-3.x list loops

我正在创建一个列表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

该怎么做?

2 个答案:

答案 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]