问题标签 [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 - 集合的反向插入顺序。具有足够大数据的 OrderedDict
我在Python 2.7.5中编写了一些脚本,但我发现了一些我无法完全解释的与 collections.OrderedDict 相关的奇怪行为。假设对于这些示例,saps_to_add = set([1, 2, 3])
.
然后,当我这样做时:
我得到了通常的预期输出。但是当我再添加一个字母并更改为时u'GNCompIdentifie
,u'GNCompIdentifier'
我得到以下相反的输出:
我尝试将长度更改u'GNCompIdentifier'
为几个不同的值并查看这会对输出产生什么影响;据我所知,小于u'GNCompIdentifie'
以正确插入顺序出现的大小,但大于或等于的大小u'GNCompIdentifier'
取决于字符串长度的奇偶校验。奇数长度以正确的顺序插入,但偶数长度以相反的顺序插入。
此外:
始终产生正确的输出(以正确的顺序插入,因为u'GNCompIdentifier!!!!!'
长度为 21,这是奇数),因此所有这些都必须有一些潜在的模式。
对于导致这种行为的原因,我完全感到困惑,任何帮助/建议将不胜感激!提前致谢。
python - 如何将 OrderedDict 转换为嵌套的 OrderedDict?
我有多个如下所示的有序字典:
我该如何去改变它:
这是我用来创建有序字典的代码,但我希望能够用我想要的任何东西嵌套它们,在这种情况下,它是“tblProviderDetails”。注意:我在上面的字典函数中使用的 key_index 被称为“数据元素名称”,它是数据帧中第 1 列的名称。
谢谢!
python - 在 Python 中将 OrderedDict 的字符串转换为 JSON
以前,我想创建一个简单的字符串OrderedDict
转换为json
输出。
实际上我们可以只使用json.dumps
when 它输入 as OrderedDict
,例如:
但问题是它输入为 a string
of OrderedDict
、string
list ofOrderedDict
或 mybe 只是string
dict/list 的一个。它还应该支持递归值、字节输入{b'a': 1}
和 unicode {u'a': 1}
。
在这里,我没有使用
eval
,因为Eval 使用起来真的很危险。
以下是一些示例输入和预期输出:
类型 1,单个字符串OrderedDict
;
OrderedDict
类型 2,具有递归值的单个字符串:
类型 3,具有单个值的字符串 dict OrderedDict
:
类型 4,带有OrderedDict
值的字符串列表:
类型 5,只是一个字符串字典:
类型 6,只是一串列表:
类型 7,使用unicode
or bytes
:
python - 在循环中更改 OrderedDict 中的键名会导致 RuntimeError: OrderedDict 在迭代期间发生突变
考虑以下问题,我有一个 OrderedDict,只想更改键的名称。我们可以使用以下命令逐行执行:
但是,如果我尝试循环执行,我会得到一个 RuntimeError: OrderedDict mutated during iteration
这是重现问题的简短示例:
你将如何解决问题?
python - 如何一次对字典的所有键、子键、子键等进行排序?
有没有办法一次对python字典的所有键、子键、子子键等进行排序?
假设我有字典
我希望它排序为
有没有办法做到这一点?
请注意:
可能 my
dict_1
可能有多个级别的子键(嵌套字典)或子值(嵌套列表)。我正在使用 Python 2.7.17,我无法更新它。但是在 3.7 之前的 Python 版本的字典中没有保留顺序,所以我敢打赌必须使用OrderedDict来完成排序。
python - 如何一次对字典或列表中的所有嵌套字典和列表进行排序?
我正在尝试为此目的开发最有效/最全面的功能:
对字典或列表中的每个嵌套字典或列表进行排序。
注意:我使用 是collections.OrderedDict
因为我想让它也适用于 3.7 之前的 python 版本,那些不保留字典顺序的版本。
基于来自这个线程的递归函数,它只对嵌套字典进行排序,我正在尝试构建一个对应的递归函数,它只对嵌套列表进行排序,然后通过使用 if 循环来组合它们,以确定要排序的对象是否是字典或列表。
这是我开发的:
它适用于许多示例,但不能通过处理字典dict_2
并抛出此错误:
因此,看起来 Python 无法对由字符串/数字和列表/字典组成的可迭代对象进行排序,因为它不知道从列表/字典中获取什么作为比较项。
与字符串/数字相比,我如何更改我的函数以便将列表/字典放在排序迭代的末尾/开头?
简而言之,我应该如何改变我的功能,让它把上面的dict_2
变成这个(手工编辑)sorted_dict_2
?
python - 从 OrderedDict 中移除 {}
我使用下面给出的 taskIdSerializer 创建数据的方法:
这个结果在我的函数中返回,如下所示:
我想删除 {} 对象,我想得到这样的返回数据:
python-3.x - 按键排序字典
我有一本字典,它的键和值是年月组合。我使用 OrderedDict 对字典进行排序并获得如下结果。在我的预期结果中,在“2021-1”之后,应该是“2021-2”。但是“2021-10”介于两者之间。
我的预期结果应该如下所示。我希望字典按最少日期到最后日期排序
感谢您是否可以提供帮助。
python - OrderedDict,UnboundLocalError:分配前引用的局部变量“link_next”
追溯:
LRUCache.get
OrderedDict 中的代码
并且 UnboundLocalError 在最后一行意外发生。
它与关闭无关。
我不知道为什么。超出我的想象。
python - OrderedDict 排序不正确
据我了解,以下应该产生一个OrderedDict
对象,其中的项目按键排序,这是一个日期时间对象。
但是,在我的情况下,对象被无序排序:
我在这里缺少什么警告?