我需要通过其键的第一个“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/