У меня есть задача составить список списков, соответствующих определенным правилам. Список должен представлять дерево с корнем и ветвями из этого корня с определенным цветом. Каждая ветвь должна быть представлена в виде списка ее дочерних элементов (одна черная ветвь генерирует 3 белых, 1 белая ветвь - 2 черных). Например: root=['black']
, первые ветки [['white','white','white']]
, следующая итерация должна быть [[[black,black],[black,black],[black,black]]]
и так далее.Создайте бесконечный список из списка
Этот бесконечный список должен храниться в глобальной переменной. Является ли это возможным? Мой код, который генерирует такой список, выполняет его только для заданного количества шагов.
root = ['b']
def change(root):
for index, item in enumerate(root):
if isinstance(item, list):
change(item)
elif item == 'b':
root[index] = ['w','w','w']
elif item == 'w':
root[index] = ['b','b']
return root
for i in range(3):
tree=change(root)
print(tree)
Как я могу создать бесконечный список, если это возможно?
Вы не можете создать фактический бесконечный список; никогда не будет достаточно памяти, так как это конечный ресурс. –
Помимо памяти, нет ограничений на то, сколько уровней вы можете вложить в списки. –
@MartijnPieters Возможно, он имеет в виду, что ему нужно написать программу, которая * дает * потенциально бесконечный список списков, следующих за определенным шаблоном. – Tagc