我有一个任务,按照特定规则创建列表的列表。列表必须用具有特定颜色的根来表示具有根和分支的树。每个分支应表示为其子元素的列表(一个黑色分支生成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