Как я могу сделать много пустых массивов без ввода вручную
list1=[] , list2=[], list3=[]
Есть ли цикл for, который сделает меня "n" числом таких пустых массивов?
Как я могу сделать много пустых массивов без ввода вручную
list1=[] , list2=[], list3=[]
Есть ли цикл for, который сделает меня "n" числом таких пустых массивов?
Упорядочение списка проще всего:
>>> n = 5
>>> lists = [[] for _ in range(n)]
>>> lists
[[], [], [], [], []]
Будьте осторожны, чтобы не попасть в ловушку:
>>> lists = [[]] * 5
>>> lists
[[], [], [], [], []]
>>> lists[0].append(1)
>>> lists
[[1], [1], [1], [1], [1]]
Если вы хотите создать разные списки без "списка списков", попробуйте следующее:
list1, list2, list3, list4 = ([] for i in range(4))
Поиск список понятий
listOfLists = [[] for i in range(N)]
Теперь listOfLists
имеет N пустых списков в нем
Другие ссылки на списки:
Надеюсь, что это поможет
Как насчет этого.
def mklist(n):
for _ in range(n):
yield []
Использование:
list(mklist(10))
[[], [], [], [], [], [], [], [], [], []]
a, b, c = mklist(3) # a=[]; b=[]; c=[]
Вы также можете добавить список списка списка... как это тоже. Он не вернет никаких ошибок. Но я понятия не имел, для чего он используется.
n = 5
>>> lists = [[[]]] for _ in range(n)]
>>> lists
[[[[]]], [[[]]], [[[]]], [[[]]], [[[]]]]
Извините, что я опаздываю на два года, но, возможно, я могу помочь другим людям.
Приведенный ниже код будет динамически "создавать". Для каждой итерации выдается следующая команда:
list номер= []
Где число - значение я в цикле.
x = 3 # amount of lists you want to create
for i in range(1, x+1):
command = "" # this line is here to clear out the previous command
command = "list" + str(i) + " = []"
exec(command)
Результатом этой конкретной части кода является три переменные: list1, list2 и list3 создаются, и каждому присваивается пустой список.
Вы можете обобщить это, чтобы сделать практически все, что захотите. Обратите внимание, что вы не можете поместить это в функцию, насколько я знаю, из-за того, как работают переменные и глобальные переменные.
name = "my_var" # This has to be a string, variables like my_var1, my_var2 will be created.
value = "[]" # This also has to be a string, even when you want to assign integers! When you want to assign a string "3", you'd do this: value = "'3'"
amount = 5 # This must be an integer. This many variables will be created (my_var1, my_var2 ... my_var5).
for i in range(1, amount+1):
command_variable = ""
command_variable = name + str(i) + " = " + value
exec(command_variable)
Надеюсь, я помог!