Заполните несколько списков с помощью цикла в Python - PullRequest
0 голосов
/ 12 июня 2019

У меня есть несколько списков, которые нужно заполнить значениями в python.

Я думаю использовать цикл для заполнения списков:

Вот некоторый исходный код, который я пытался:

list1, list2, list3, list4 = ([] for i in range(4)) 
for i in range(4):
    target_list_name = 'list'+ str(i)
    target_list_name = i

Я не думаю, что это дает мнечто я хочу, вывод желания:

print(list1) [0]
print(list2) [1]
print(list3) [2]
print(list4) [3]

Спасибо!

Ответы [ 3 ]

1 голос
/ 12 июня 2019

Вы были действительно близки с первой строкой вашего кода.

list1, list2, list3, list4 = ([i] for i in range(4))
0 голосов
/ 12 июня 2019

Ваш первоначальный подход target_list_name = 'list'+ str(i) фактически создает 4 строки, которые "list1", "list2" и т. Д. Они не ссылаются на 4 списка переменных, которые вы определили ранее, как вы могли подумать.

Вв любом случае вам не нужны 4 переменные для хранения подобных списков, вы можете создать список списков и затем обращаться к спискам через индексы во внешнем списке

#Make a list with 4 sublists
li = [[i] for i in range(4)]

#Print each sublist
for item in li:
    print(item)

Вывод будет

[0]
[1]
[2]
[3]
0 голосов
/ 12 июня 2019

Используйте dictionary

>>> list_dict = {}
>>> for i in range(4):
...     list_dict[f'list{i+1}'] = [i]
... 
>>> list_dict
{'list1': [0], 'list2': [1], 'list3': [2], 'list4': [3]}
>>> print(list_dict['list1'])
[0]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...