最近我发现python列表和字典可以像这样多层嵌套
a = {'a1':[{'a2':{'a3':[4,5,6]}}]}
那么我想问一下嵌套层级有技术限制吗?
如果没有,嵌套级别是否有一个常规限制,它是什么?
唯一的限制是内存。给定无限的内存,你可以无限地嵌套 Python 对象。
Demo:
>>> root = lst = []
>>> levels = 0
>>> while True:
... lst.append([])
... lst = lst[-1]
... levels += 1
... if levels % 1000000 == 0: # every 1 million
... print levels
...
1000000
2000000
3000000
4000000
5000000
6000000
7000000
8000000
9000000
10000000
11000000
# ....
# [ slower and slower as the system starts to swap ]
# ....
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
MemoryError
为了我的理智,我在 3000 万个对象上杀死了它。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)