我有一个以字符串为键的字典,格式为 yyyy-mm-dd,我想按键对字典进行排序,日期最早的排在最前面:
我目前正在使用 sorted(datesAndText.keys())
但这不能可靠地工作,因为月份和日期字段并不总是用零填充。
我看过Sort python dictionary by date keys和 How do I sort this list in Python, if my date is in a String?但我似乎无法根据具体情况采用它们。
最佳答案
您确定您的 key 完全采用 yyyy-mm-dd
格式吗?例如:
>>> '2010-1-15' < '2010-02-15'
False
你可能被迫这样排序:
sorted(d,key=lambda x: [int(y) for y in x.split('-')])
另一个解决方案(假设你的年份都是4位数):
sorted(d,key=lambda x: [y.zfill(2) for y in x.split('-')])
我不确定哪个会更快。我想它是 timeit
的候选对象。
关于python - 按格式化为字符串的键对 python 字典进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12820960/