问题标签 [ordereddict]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 如何在 python 字典中按顺序获取数据?
我想按我的顺序拿到我的钥匙。但是,它不适用于字典和 Collections.OrderedDict。
这段代码表明Name3 Name4 ...
. 它没有任何顺序。我的数据在键中没有字母顺序,我必须按我的顺序获取键。
我发现字典不是按顺序设计的。那么,我可以将哪些结构与键值对一起使用?或者有什么方法可以按自定义顺序使用字典?(输入顺序..?)
python - Python 2.7 中的无内存泄漏 OrderedDict 替代方案?
我们正在检查我们的一个包是否在 Python gc 中留下垃圾对象,并发现collections.OrderedDict
对象没有被 ref-count 机制删除,而是被放入 GC,具有以下引用(当 pprint'ing 它们并调整输出时小的):
这似乎与https://bugs.python.org/issue9825中报告的问题相同。这个问题在 Python 3.2 中得到了修复,实际上,上面显示的引用循环出现在 Python 2.7 上,但没有出现在 Python 3.7 上。
collections.OrderedDict
Python 2.7是否有无参考循环的替代方案?
更新:
我发现
ordereddict.OrderedDict
也有相同的参考周期。我完全清楚 Python 2.7 已不受支持。尽管如此,我们仍然需要在 Python 2.7 上支持我们的包。
@Ramsha Siddiqui 的答案指向 Django 的 SortedDict。我验证了在 Django 1.7 中,它的 SortedDict 没有引用循环。但是,SortedDict 已从 Django 中删除(至少在其 1.11 版中)。
python - 尝试使用“OrderedDict”数据结构编写复杂算法
我正在尝试编写一个算法:
我有如下OrderedDict
数据类型的输入:
我正在尝试编写一个函数来在每个中添加相同元组的数量,key
例如预期的输出,如下所示:如果有(1,1)
相同的元组1
,那么如果有两次2
,那么一个:
这是我的尝试,但如何改进它并将其添加到OrderedDict
?
我在哪里犯错?
python - 对 OrderedDict 进行升序和降序排序
定义:
如果要按 item["key"][1] 降序和“keys”升序对字典进行排序,那么合适的方法是什么?
期望的输出:
收到思南的正确答案后请注意,我没有问升序或降序排序,您给我发了相关链接!我问要同时做这两个问题,这不是由思南给出的减号技巧所解决的。
python - 为什么添加到 OrderedDict 并在函数内部排序的键不会在函数外部保持排序?
我有一个函数,其中包含类似于下面的代码,它接受一个 OrdredDict 对象和一个字符串作为参数:
此函数会将键添加到字典中并对其进行排序,但一旦离开该函数就不会保持排序。
下面的代码演示了这种行为:
输出:
为什么排序不保留在函数之外?
csv - 如何访问ordereddict中的值?
我打开并从 argv 读取 csv 文件到字典
现在当我想像这样访问 csv 文件的内容时:
我得到的是:
使用此功能:
我得到这个结果:
你能帮我访问“爱丽丝”、“2”、“8”和“3”吗?
python - Python,解压和重新排序有序字典列表
我有一个有序词典列表。
我想将每个字典的第一个值设置为键,将字典本身设置为值(包括名称)并返回一个新列表。
我的代码:
哪个输出为 None 我不明白为什么。
yaml - 如何从 Python OrderedDict (ruamel) 中删除嵌套条目?
我正在使用https://github.com/wwkimball/yamlpath和优秀的ruamel YAML 解析器来加载和使用 YAML 文件。我需要从 YAML 文件中删除一个条目,但看不到如何明显地做到这一点。这是一个例子:
源 YAML 片段:
我可以获得指向这些的 YAML 路径,但我怎样才能删除(比如)迈阿密条目?使用 ruamel.yaml 给了我这样的数据结构:
我可以通过说访问条目,data['sports']['football'][0]
但是如何从 YAML 文件中删除该元素?我看到有一个“pop”选项,但是在这个例子中需要为嵌套键提供什么?
我查看了 yamlpath CLI 工具,似乎没有删除选项。
python - OrderedDict 比较不一致
dict
我注意到s 和OrderedDict
s之间的关系存在这种惊人的不一致。从文档:
OrderedDict 对象之间的相等性测试是顺序敏感的,并且实现为
list(od1.items())==list(od2.items())
. 对象和其他 Mapping 对象之间的相等性测试OrderedDict
与常规字典一样对顺序不敏感。这允许OrderedDict
在使用常规字典的任何地方替换对象。
这是一个问题,因为它违反了 equal 的传递性,如下所示。
我的问题:这是否有充分的理由(除了“......允许 OrderedDict 对象被替换......”)?是否有任何其他标准 python 类型违反了等式的传递属性?
以下测试应该都是等效的,但它们不是:
在我看来,情况应该是这样的:
集合是有序的,即 order 是其值
dict
的一部分,在这种情况下,不应该定义与 unordered的比较(与比较 alist
和 a相同set
)在这种情况下,集合不是有序
od1==od2
的。该顺序仍然可以保持迭代,但不被视为value 的一部分。