问题标签 [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 投票
0 回答
24 浏览

python - 集合的反向插入顺序。具有足够大数据的 OrderedDict

我在Python 2.7.5中编写了一些脚本,但我发现了一些我无法完全解释的与 collections.OrderedDict 相关的奇怪行为。假设对于这些示例,saps_to_add = set([1, 2, 3]).

然后,当我这样做时:

我得到了通常的预期输出。但是当我再添加一个字母并更改为时u'GNCompIdentifieu'GNCompIdentifier'我得到以下相反的输出:

我尝试将长度更改u'GNCompIdentifier'为几个不同的值并查看这会对输出产生什么影响;据我所知,小于u'GNCompIdentifie'以正确插入顺序出现的大小,但大于或等于的大小u'GNCompIdentifier'取决于字符串长度的奇偶校验。奇数长度以正确的顺序插入,但偶数长度以相反的顺序插入。

此外:

始终产生正确的输出(以正确的顺序插入,因为u'GNCompIdentifier!!!!!'长度为 21,这是奇数),因此所有这些都必须有一些潜在的模式。

对于导致这种行为的原因,我完全感到困惑,任何帮助/建议将不胜感激!提前致谢。

0 投票
0 回答
25 浏览

python - 如何将 OrderedDict 转换为嵌套的 OrderedDict?

我有多个如下所示的有序字典:

我该如何去改变它:

这是我用来创建有序字典的代码,但我希望能够用我想要的任何东西嵌套它们,在这种情况下,它是“tblProviderDetails”。注意:我在上面的字典函数中使用的 key_index 被称为“数据元素名称”,它是数据帧中第 1 列的名称。

谢谢!

0 投票
2 回答
91 浏览

python - 在 Python 中将 OrderedDict 的字符串转换为 JSON

以前,我想创建一个简单的字符串OrderedDict转换为json输出。
实际上我们可以只使用json.dumpswhen 它输入 as OrderedDict,例如:

但问题是它输入为 a stringof OrderedDictstringlist ofOrderedDict或 mybe 只是stringdict/list 的一个。它还应该支持递归值、字节输入{b'a': 1}和 unicode {u'a': 1}

在这里,我没有使用eval,因为Eval 使用起来真的很危险

以下是一些示例输入和预期输出:

类型 1,单个字符串OrderedDict

OrderedDict类型 2,具有递归值的单个字符串:

类型 3,具有单个值的字符串 dict OrderedDict

类型 4,带有OrderedDict值的字符串列表:

类型 5,只是一个字符串字典:

类型 6,只是一串列表:

类型 7,使用unicodeor bytes

0 投票
1 回答
364 浏览

python - 在循环中更改 OrderedDict 中的键名会导致 RuntimeError: OrderedDict 在迭代期间发生突变

考虑以下问题,我有一个 OrderedDict,只想更改键的名称。我们可以使用以下命令逐行执行:

但是,如果我尝试循环执行,我会得到一个 RuntimeError: OrderedDict mutated during iteration

这是重现问题的简短示例:

你将如何解决问题?

0 投票
1 回答
41 浏览

python - 如何一次对字典的所有键、子键、子键等进行排序?

有没有办法一次对python字典的所有键、子键、子子键等进行排序?

假设我有字典

我希望它排序为

有没有办法做到这一点?

请注意:

  • 可能 mydict_1可能有多个级别的子键(嵌套字典)或子值(嵌套列表)。

  • 我正在使用 Python 2.7.17,我无法更新它。但是在 3.7 之前的 Python 版本的字典中没有保留顺序,所以我敢打赌必须使用OrderedDict来完成排序。

0 投票
1 回答
57 浏览

python - 如何一次对字典或列表中的所有嵌套字典和列表进行排序?

我正在尝试为此目的开发最有效/最全面的功能:

对字典或列表中的每个嵌套字典或列表进行排序。

注意:我使用 是collections.OrderedDict因为我想让它也适用于 3.7 之前的 python 版本,那些不保留字典顺序的版本。

基于来自这个线程的递归函数,它只对嵌套字典进行排序,我正在尝试构建一个对应的递归函数,它只对嵌套列表进行排序,然后通过使用 if 循环来组合它们,以确定要排序的对象是否是字典或列表。

这是我开发的:

它适用于许多示例,但不能通过处理字典dict_2

并抛出此错误:

因此,看起来 Python 无法对由字符串/数字和列表/字典组成的可迭代对象进行排序,因为它不知道从列表/字典中获取什么作为比较项。

与字符串/数字相比,我如何更改我的函数以便将列表/字典放在排序迭代的末尾/开头?

简而言之,我应该如何改变我的功能,让它把上面的dict_2变成这个(手工编辑)sorted_dict_2

0 投票
2 回答
103 浏览

python - 从 OrderedDict 中移除 {}

我使用下面给出的 taskIdSerializer 创建数据的方法:

这个结果在我的函数中返回,如下所示:

我想删除 {} 对象,我想得到这样的返回数据:

0 投票
1 回答
23 浏览

python-3.x - 按键排序字典

我有一本字典,它的键和值是年月组合。我使用 OrderedDict 对字典进行排序并获得如下结果。在我的预期结果中,在“2021-1”之后,应该是“2021-2”。但是“2021-10”介于两者之间。

我的预期结果应该如下所示。我希望字典按最少日期到最后日期排序

感谢您是否可以提供帮助。

0 投票
0 回答
23 浏览

python - OrderedDict,UnboundLocalError:分配前引用的局部变量“link_next”

追溯:

LRUCache.get

OrderedDict 中的代码

并且 UnboundLocalError 在最后一行意外发生。

它与关闭无关。

我不知道为什么。超出我的想象。

0 投票
1 回答
48 浏览

python - OrderedDict 排序不正确

据我了解,以下应该产生一个OrderedDict对象,其中的项目按键排序,这是一个日期时间对象。

但是,在我的情况下,对象被无序排序:

我在这里缺少什么警告?