python列表和字典可以无限嵌套吗?

2024-04-05

最近我发现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(使用前将#替换为@)

python列表和字典可以无限嵌套吗? 的相关文章

  • 使用 python sqlalchemy 通过WITH语句执行原始查询

    我正在尝试使用原始 sqlalchemy 将值插入 Postgres11 数据库text 查询 当我通过 psql client 运行以下 SQL 查询时 它可以正常工作 WITH a AS INSERT INTO person id VA
  • 字幕重新格式化以完整句子结尾

    我有以下 srt 字幕 文件 import pysrt srt 01 00 02 14 000 gt 00 02 18 000 I understand how customers do their choice So 02 00 02 1
  • 如何在旧数据库中的 Django 中进行 INNER JOIN ?

    抱歉 我的问题可能很简单 但我是 Django 的新手 真的很困惑 我有一个丑陋的旧表 我无法更改 它有 2 个表 class Salespersons models Model id models IntegerField unique
  • python,在数据框中存储字典

    我构建了一个 pandas 数据框 它在每个单元格中存储一个简单的字典 例如 Sales 0 Revenue 0 我可以通过以下方式从数据帧中检索特定值 df columnA index100 Revenue 但现在我想绘制一个图表 其中包
  • 在 Pandas 数据框中显示对图

    我试图通过从 pandas 数据框中的 scatter matrix 创建来显示一对图 这就是创建配对图的方式 Create dataframe from data in X train Label the columns using th
  • 如何在Python和C++之间交换数据[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我想用 Python 编写一个程序 读取 2 个数字 从文本文件或用户输入 调用一个接受 2 个参数 这 2 个数字 的 C 函数 将
  • 在Python中将SQL转换为json[重复]

    这个问题在这里已经有答案了 我需要传递一个可以使用它进行转换的对象 parseJSON 查询如下所示 cursor execute SELECT earnings date FROM table 为了传递可以转换为 json 的 HttpR
  • 仅选择多索引 DataFrame 的一个索引

    我正在尝试仅使用多索引 DataFrame 中的一个索引创建一个新的 DataFrame A B C first second bar one 0 895717 0 410835 1 413681 two 0 805244 0 813850
  • 如果我不重置 Python 的 ContextVars 会发生什么?

    这是Python中的内存泄漏吗 import contextvars contextvar contextvars ContextVar example while True string hello world token context
  • 为什么Python中的函数以“return 0”而不是“return”结尾? [复制]

    这个问题在这里已经有答案了 您能解释一下 return 0 和 return 之间的区别吗 例如 do 1 for i in xrange 5 do sth return 0 do 2 for i in xrange 5 do sth re
  • 从 colab 中的驱动器中的 python 脚本导入 python 模块

    我目前正在 Google Colab 上开展一个使用 Tensorflow API 的机器学习项目 我创建了一个文件夹并将其上传到谷歌驱动器上以在谷歌Colab上运行 我成功安装了谷歌驱动器并可以运行脚本 但是当我尝试从同一文件夹中的脚本导
  • manage.pysyncdb 不会为某些模型添加表

    今天我的第二个不太熟练的问题 我有一个 django 项目 其中安装了四个应用程序 当我运行manage py syndb时 它只为其中两个创建表 据我所知 我的任何模型文件都没有问题 并且所有应用程序都在我的设置文件中的 INSTALLE
  • 基本的 Python OpenCV 裁剪和调整大小

    有人可以帮我一些裁剪算法吗 它的 openCV 我想弄清楚这一点 我知道方法是crop image y y1 x x1 如果我有一个带有 new dimensionXxnew dimensionY 像素的图像 并且我想将其裁剪为相同的宽度
  • 如何为 PyDev 制作文件模板?

    我希望在我创建的每个新文件的顶部都有一些有关许可证 作者等的样板信息 但我找不到要勾选的正确框 基本上 我想创建一个新文件 并已将其填充 在顶部 author Me license something copyright something
  • Python 类中的继承顺序

    我有课ExampleSim它继承自基类Physics class Physics object arg1 arg1 def physics method print physics method class ExampleSim Physi
  • cython.parallel.prange 中的 cython 共享内存 - 块

    我有一个函数foo它以指向内存的指针作为参数 并写入和读取该内存 cdef void foo double data data some index int some value double do something dependent
  • 如何使用BeautifulSoup查找所有下一个链接

    我目前正在通过预设一个名为 number of pages 的变量来抓取特定网站的所有页面 预设此变量一直有效 直到添加了我不知道的新页面 例如 下面的代码适用于 3 个页面 但网站现在有 4 个页面 base url https secu
  • 如何获取当前的 IPython / Jupyter Notebook 名称

    我试图在运行 IPython 笔记本时获取当前的笔记本名称 我知道我可以在笔记本顶部看到它 我在追求什么 currentNotebook IPython foo bar notebookname 我需要在变量中获取名称 添加到以前的答案 要
  • 以任意深度嵌套 defaultdict

    我想嵌套任意数量的默认字典 如下所示 from collections import defaultdict D defaultdict lambda defaultdict int 正如所描述的那样工作正常earlier https st
  • 缩放插图中不同的 x 和 y 比例,matplotlib

    我正在尝试使用 matplotlib 制作插图 目前我有类似最后一个答案的内容如何缩放图像的一部分并插入到 matplotlib 中的同一图中 https stackoverflow com questions 13583153 how t

随机推荐