#python #loops #variables #sequence #variable-names
#python #циклы #переменные #последовательность #имена переменных
Вопрос:
У меня есть 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. Вам нужен словарь для хранения списков
2. @roganjosh Спасибо.
Ответ №1:
Я предлагаю вам использовать 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
именем).
Комментарии:
1. Большое вам спасибо. Это работа, но единственный ли это способ? У меня огромные данные.
2. @hhtt Если вам нужна более конкретная помощь, нам нужна более конкретная информация о том, что именно вам нужно. Вы могли бы задать новый вопрос с более конкретной информацией.