问题标签 [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.

0 投票
2 回答
145 浏览

python - 如何在 python 字典中按顺序获取数据?

我想按我的顺序拿到我的钥匙。但是,它不适用于字典和 Collections.OrderedDict。

这段代码表明Name3 Name4 .... 它没有任何顺序。我的数据在键中没有字母顺序,我必须按我的顺序获取键。

我发现字典不是按顺序设计的。那么,我可以将哪些结构与键值对一起使用?或者有什么方法可以按自定义顺序使用字典?(输入顺序..?)

0 投票
1 回答
220 浏览

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.OrderedDictPython 2.7是否有无参考循环的替代方案?

更新:

  1. 我发现ordereddict.OrderedDict也有相同的参考周期。

  2. 我完全清楚 Python 2.7 已不受支持。尽管如此,我们仍然需要在 Python 2.7 上支持我们的包。

  3. @Ramsha Siddiqui 的答案指向 Django 的 SortedDict。我验证了在 Django 1.7 中,它的 SortedDict 没有引用循环。但是,SortedDict 已从 Django 中删除(至少在其 1.11 版中)。

0 投票
1 回答
71 浏览

python - 尝试使用“OrderedDict”数据结构编写复杂算法

我正在尝试编写一个算法:

我有如下OrderedDict数据类型的输入:

我正在尝试编写一个函数来在每个中添加相同元组的数量,key例如预期的输出,如下所示:如果有(1,1)相同的元组1,那么如果有两次2,那么一个:

这是我的尝试,但如何改进它并将其添加到OrderedDict

我在哪里犯错?

0 投票
1 回答
35 浏览

python - 对 OrderedDict 进行升序和降序排序

定义:

如果要按 item["key"][1] 降序和“keys”升序对字典进行排序,那么合适的方法是什么?

期望的输出:

收到思南的正确答案后请注意,我没有问升序或降序排序,您给我发了相关链接!我问要同时做这两个问题,这不是由思南给出的减号技巧所解决的。

0 投票
2 回答
637 浏览

python - Python 如何将 collections.OrderedDict 转换为 dataFrame

我有以下任务: 1)我有一个带有一些电子表格的 excel 文件。从这些电子表格中,我需要来自“A:CU”列的信息,第 41 - 51 行 2) 然后我需要从所有电子表格的第 41 - 51 行的“A:CU”列中收集信息(它们具有相同的结构)和创建一个数据库。3) 应该有一列表明从哪个电子表格数据收集

我做了以下工作:

现在我有 collections.OrderedDict 并且很难将它放入 dataFrame 中。

在此处输入图像描述

我需要的是这样的数据框: 在此处输入图像描述

0 投票
2 回答
76 浏览

python - 为什么添加到 OrderedDict 并在函数内部排序的键不会在函数外部保持排序?

我有一个函数,其中包含类似于下面的代码,它接受一个 OrdredDict 对象和一个字符串作为参数:

此函数会将键添加到字典中并对其进行排序,但一旦离开该函数就不会保持排序。

下面的代码演示了这种行为:

输出:

为什么排序不保留在函数之外?

0 投票
2 回答
361 浏览

csv - 如何访问ordereddict中的值?

我打开并从 argv 读取 csv 文件到字典

现在当我想像这样访问 csv 文件的内容时:

我得到的是:

使用此功能:

我得到这个结果:

你能帮我访问“爱丽丝”、“2”、“8”和“3”吗?

0 投票
2 回答
37 浏览

python - Python,解压和重新排序有序字典列表

我有一个有序词典列表。

我想将每个字典的第一个值设置为键,将字典本身设置为值(包括名称)并返回一个新列表。

我的代码:

哪个输出为 None 我不明白为什么。

0 投票
1 回答
320 浏览

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 工具,似乎没有删除选项。

0 投票
0 回答
52 浏览

python - OrderedDict 比较不​​一致

dict我注意到s 和OrderedDicts之间的关系存在这种惊人的不一致。从文档:

OrderedDict 对象之间的相等性测试是顺序敏感的,并且实现为list(od1.items())==list(od2.items()). 对象和其他 Mapping 对象之间的相等性测试OrderedDict与常规字典一样对顺序不敏感。这允许OrderedDict在使用常规字典的任何地方替换对象。

这是一个问题,因为它违反了 equal 的传递性,如下所示。

我的问题:这是否有充分的理由(除了“......允许 OrderedDict 对象被替换......”)?是否有任何其他标准 python 类型违反了等式的传递属性

以下测试应该都是等效的,但它们不是:

在我看来,情况应该是这样的:

  1. 集合是有序的,即 order 是其dict的一部分,在这种情况下,不应该定义与 unordered的比较(与比较 alist和 a相同set

  2. 在这种情况下,集合不是有序od1==od2的。该顺序仍然可以保持迭代,但不被视为value 的一部分。