【发布时间】:2018-03-29 18:27:53
【问题描述】:
我有一个包含字母数字键的字典,我需要根据键的数值的递增顺序对它们进行排序。下面是我的字典
output_filters = {"filter22": "red", "filter13": "green", "filter36": "yellow"}
我希望最终字典的排序如下所示
output_filters = {"filter13": "green", "filter22": "red", "filter36": "yellow"}
现在我知道有类似的 stackoverflow 问题,但我无法适应我的情况。
这是我到目前为止所做的,但它不起作用
def key_func(s):
return [int(x) if x.isdigit() else x for x in re.findall(r'\D+|\d+', s)]
sorted_keys = sorted(output_filters, key=key_func)
它给出不准确的结果。如何做到这一点?
【问题讨论】:
标签: python-3.x sorting dictionary