Вызвать последовательность переменных с одинаковым именем внутри цикла в Python - PullRequest
1 голос
/ 09 марта 2019

У меня есть 5 пустых списков list1=[], list2=[], list3=[], list4=[], list5=[] и список с 5 переменными var_list=[v1, v2, v3, v4, v5]. Я хочу добавить каждую переменную внутри var_list внутри соответствующего пустого списка. Я делаю эту работу вручную:

list1.append(var_list[0])
list2.append(var_list[1])
list3.append(var_list[2])
list4.append(var_list[3])
list5.append(var_list[4])

Я хочу сделать это в цикле for, я знаю, что элементы var_list могут вызываться внутри цикла как var_list[i], но как я могу вызвать list таким образом, когда все переменные list с одинаковыми Название и разные по номерам. 'list'+str(i) не может работать. Может кто-нибудь, пожалуйста, помогите мне сделать эту работу в одной строке внутри цикла.

1 Ответ

1 голос
/ 09 марта 2019

Я предлагаю вам использовать dict для хранения всех списков. Может быть, что-то вроде этого:

my_lists = {
    'list_{}'.format(i+1): []
    for i in range(5)}

var_list = [1, 2, 3, 4, 5]

for i, elem in enumerate(var_list):
    my_lists['list_{}'.format(i+1)].append(elem)

После запуска my_lists будет удерживать:

{'list_1': [1], 'list_2': [2], 'list_3': [3], 'list_4': [4], 'list_5': [5]}

Примечание: в этом случае предполагается, что порядок элементов в var_list соответствует именам списков (элемент в позиции i в var_list перейдет к списку с i в его имени ).

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