Python:按键的前半部分/部分对字典重新排序

标签 python dictionary key

我需要通过其键的第一个“CSV”对一个非常大的 OrderedDict 进行重新排序。例如我有一本这样的字典:

 a = {'40,70': AAAAAA, '0,12': XXXXXXXX, '20,38': YYYYY}

我需要将其按 key 的第一个数字进行排序,该数字始终是用逗号分隔的两个数字(我需要第二个数字作为排序因子)。这些值或字母目前并不重要。我需要它是这样的:

b = {'0,12': XXXXXXXX, '20,38': YYYYY, '40,70': AAAAAA}

字典太大,无法在循环中分割每个键 - 有更快的方法吗? 我已尽力使这一点尽可能清楚。

谢谢。

最佳答案

您可以使用有序字典对字典重新排序

from collections import OrderedDict  
OrderedDict(sorted(a.items(), key=lambda ele:[int(item) for item in ele[0].split(',')])) 

关于Python:按键的前半部分/部分对字典重新排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51597604/

相关文章:

python - 如何让 PyC​​harm 在安装库时忽略 SSL 错误?

python - 类似于 python/PIL 中的 gimp "fuzzy select"

Python 正则表达式可选捕获组,具有正向前瞻功能

python - 如何制作一个排序的字典类?

ios - 加密 key : Can I use obfuscation?

python - 升级后 Pandas 系列操作非常缓慢

android - 离线 map 包含在 .apk 文件中

python - 使用字典在数据集中查找条目

linux - 带 key +密码的lftp

javascript - 通过键删除嵌套结构中的对象