Создайте x списков с помощью цикла for в python

#python

#python

Вопрос:

Я пытаюсь составить 1 список для каждого элемента в этом списке, но длина списка зависит от пользовательского ввода, поэтому я использую цикл for .

Моя идея:

 listno = 0
for i in arialabel:
    a str(listno) = []
    print(a str(listno))
    listno =1
  

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

Комментарии:

1. yourlists = []; for _ in range(howmany): yourlists.append([])

2. Да, вы не должны использовать это, пожалуйста, предоставьте больше информации о том, что вы делаете. Я бы посоветовал вам просто составить список list для этого использования.

Ответ №1:

Поместите свои списки в словарь:

 arialabel = ['w', 'x', 'y', 'z']
prefix = "a"

lists = {}
listno = 0
for i in arialabel:
    lists[prefix str(listno)] = []
    print(prefix str(listno))
    listno =1

print(lists)
  

Результат:

 a0
a1
a2
a3
{'a0': [], 'a1': [], 'a2': [], 'a3': []}
  

Пример использования:

 lists['a3'].append("apple")
lists['a3'].append("pear")
print(lists['a3'])
  

Пример результата:

 ['apple', 'pear']
  

Комментарии:

1. Я думаю a str(listno) , что это была переменная, которую OP пытался определить с этим именем, то a1 есть , a2 , … Итак, чтобы воспроизвести то, что они хотят, вы бы заменили a str(listno) на "a" str(listno) . Также вы можете продемонстрировать, как получить значение из dict, что может быть полезно.

2. а, хорошо. легко. просто измените префикс