Как добавить много элементов списка в другой список в Python - PullRequest
1 голос
/ 07 июля 2019

Я создавал список файлов 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 ]

3 голосов
/ 08 июля 2019

Эта проблема действительно может быть решена путем более адаптированного выбора структуры данных. Если некоторые элементы связаны между собой, они должны храниться вместе в контейнере, таком как 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)
2 голосов
/ 07 июля 2019

Если вы собираетесь собрать все списки, этот код может выполнить эту работу.

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]

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...