我有以下格式的字典:
演示代码:
>>> import pprint
>>> pprint.pprint(data)
{'lookup': {'F01': '\n.custom1 {\n background-color: #f5e9dc;\n padding: 10px;\n border-radius: 10px;\n font-family: sans-serif;\n font-size: 0.9em;\n margin-top: 1em;\n }\n.custom2 .style8-rw {\n font-family: sans-serif;\n font-weight: bold;\n color: #F57215;\n }',
'F02': '\n.custom1 {\n background-color: #f5e9dc;\n padding: 10px;\n border-radius: 10px;\n font-family: sans-serif;\n font-size: 0.9em;\n margin-top: 1em;\n }\n.custom2 .style8-rw {\n font-family: sans-serif;\n font-weight: bold;\n color: #F57215;\n }',
'F03': '\n.custom1 {\n background-color: #f5e9dc;\n padding: 10px;\n border-radius: 10px;\n font-family: sans-serif;\n font-size: 0.9em;\n margin-top: 1em;\n }\n.custom2 .style8-rw {\n font-family: sans-serif;\n font-weight: bold;\n color: #F57215;\n }',
'F04': '\n.custom1 {\n background-color: #f5e9dc;\n padding: 10px;\n border-radius: 10px;\n font-family: sans-serif;\n font-size: 0.9em;\n margin-top: 1em;\n }\n.custom2 .style8-rw {\n font-family: sans-serif;\n font-weight: bold;\n color: #F57215;\n }',
'F05': '\n.custom1 {\n background-color: #f5e9dc;\n padding: 10px;\n border-radius: 10px;\n font-family: sans-serif;\n font-size: 0.9em;\n margin-top: 1em;\n }\n.custom2 .style8-rw {\n font-family: sans-serif;\n font-weight: bold;\n color: #F57215;\n }',
'F06': '\n.custom1 {\n background-color: #f5e9dc;\n padding: 10px;\n border-radius: 10px;\n font-family: sans-serif;\n font-size: 0.9em;\n margin-top: 1em;\n }\n.custom2 .style8-rw {\n font-family: sans-serif;\n font-weight: bold;\n color: #F57215;\n }',
'F07': '\n.custom1 {\n background-color: #f5e9dc;\n padding: 10px;\n border-radius: 10px;\n font-family: sans-serif;\n font-size: 0.9em;\n margin-top: 1em;\n }\n.custom2 .style8-rw {\n font-family: sans-serif;\n font-weight: bold;\n color: #F57215;\n }',
'F08': '\n.custom1 {\n background-color: #f5e9dc;\n padding: 10px;\n border-radius: 10px;\n font-family: sans-serif;\n font-size: 0.9em;\n margin-top: 1em;\n }\n.custom2 .style8-rw {\n font-family: sans-serif;\n font-weight: bold;\n color: #F57215;\n }',
'F09': '\n.custom1 {\n background-color: #f5e9dc;\n padding: 10px;\n border-radius: 10px;\n font-family: sans-serif;\n font-size: 0.9em;\n margin-top: 1em;\n }\n.custom2 .style8-rw {\n font-family: sans-serif;\n font-weight: bold;\n color: #F57215;\n }',
'F10': '\n.custom1 {\n background-color: #f5e9dc;\n padding: 10px;\n border-radius: 10px;\n font-family: sans-serif;\n font-size: 0.9em;\n margin-top: 1em;\n }\n.custom2 .style8-rw {\n font-family: sans-serif;\n font-weight: bold;\n color: #F57215;\n }',
'F11': '\n.custom1 {\n background-color: #f5e9dc;\n padding: 10px;\n border-radius: 10px;\n font-family: sans-serif;\n font-size: 0.9em;\n margin-top: 1em;\n }\n.custom2 .style8-rw {\n font-family: sans-serif;\n font-weight: bold;\n color: #F57215;\n }',
'F12': '\n.custom1 {\n background-color: #f5e9dc;\n padding: 10px;\n border-radius: 10px;\n font-family: sans-serif;\n font-size: 0.9em;\n margin-top: 1em;\n }\n.custom2 .style8-rw {\n font-family: sans-serif;\n font-weight: bold;\n color: #F57215;\n }'},
'sequence': ['F01',
'F02',
'F03',
'F04',
'F05',
'F06',
'F07',
'F08',
'F09',
'F10',
'F11',
'F12']}
>>> import sys
>>> sys.getsizeof(data)
136
>>> sys.getsizeof(data["sequence"])
80
>>> sys.getsizeof(data["lookup"])
520
>>>
我无法获得嵌套字典在内存中的存储方式,因为size如果data
是136个字节,sizedata["sequence"]
是80个字节,而且sizedata["lookup"]
是520个字节。
另外,当我对类型从dictionary
到的变量数据进行类型转换时string
,字符串变量的大小为3587 bytes
。
演示代码:
>>> data_str = str(data)
>>> sys.getsizeof(data_str)
3587
可以解释一下为什么吗?
字典和列表存储 引用 (类似于Python中的其他所有标准容器)。sys.getsizeof()
不遵循引用,它给你的C结构的内存占用 唯一
。引用是C指针;它们的大小取决于您的特定平台。
将字典转换为repr()
字符串也将内容递归转换为()字符串,因此所有这些引用都将被取消引用并包含在输出中。请注意,这并不是对原始对象的内存大小的准确反映。字符串包含字符,这取决于您的确切Python版本,操作系统以及所使用的Unicode代码点范围,每个字符占用多少内存,并且字符数与所反映的实际对象具有非线性关系。
如果您想知道 包含内容 的字典的内存占用量, 则
需要递归地进行操作。考虑到字典可以包含对其本身(直接或间接)的引用,或者任何对象可以具有对其的多个引用,并且只应计数 一次
。我将使用该id()
函数来跟踪已处理的对象。
Stack
Overflow上已经有几篇文章讨论了使用递归或其他工具计算容器的内存大小,请参见sys.getsizeof的Deep版本,Python的带有内容的deep
getsizeof列表?,以及Python中字典的内存使用情况?对于一些例子。
问题内容: 我正在处理一个复杂的嵌套字典和列表数据结构。我需要将数据展平并将所有嵌套项都置于0级。有关更多说明,请参见以下示例: 我需要将其展平为: 我从这篇文章的第一个答案中获得了参考,但是只有在我嵌套了字典的情况下它才可以工作,如果列表嵌套在字典中并且更多的词典嵌套在这些列表中,则它不能工作。 我对代码做了一些修改以适合我的用例,但是此代码不起作用 当我在此处粘贴代码时,缩进变得混乱。但我真的
问题内容: 我有类似的东西 并且需要具有: 非常感谢! 编辑:我想按subkey1进行排序,这之前还不清楚。 问题答案: 使用关键字表示功能和方法: 演示: 假定 所有 顶级词典都具有一个键,该键被假定为带有键的字典。 有关更多详细信息和技巧,请参见Python Sorting HOWTO 。
问题内容: 我有一个嵌套列表,如何将其转换为字典 字典应阅读以下内容 我试图将其更改为Pandas DataFrame并将其转换为字典。但是我正在寻找从列表到字典的直接转换 将感谢您的帮助。在Python 3中期待答案 问题答案: 一种方法是使用,它依次遍历每个列表的第 i 个元素: 按照@Jean-FrançoisFabre的建议,通过打开包,可确保您的值是列表。 结果 另一种方法是使用:
本文向大家介绍python实现字典嵌套列表取值,包括了python实现字典嵌套列表取值的使用技巧和注意事项,需要的朋友参考一下 如下所示: 访问dict的值: 访问dict下的result列表的值: 也可以使用临时变量: 以上这篇python实现字典嵌套列表取值就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持呐喊教程。
我有一个JSON API响应,如下所示: 我正在使用Python并尝试访问响应中的第一个“下载”值。所以我需要从sales\u list(目录中的列表)开始 我见过关于在列表中的字典或嵌套字典中访问值的问题。但是我对如何在字典中的列表和列表中的字典之间/之间导航有点困惑。任何帮助都将不胜感激。
问题内容: 我有一本这样的字典: 基本上是一本具有嵌套列表,字典和字符串的字典,其深度是任意的。 遍历此方法以提取每个“ id”键的值的最佳方法是什么?我想实现与“ // id”之类的XPath查询等效的功能。“ id”的值始终是一个字符串。 因此,从我的示例中,我需要的输出基本上是: 顺序并不重要。 问题答案: 我发现此Q / A非常有趣,因为它为同一问题提供了几种不同的解决方案。我采用了所有这