【问题标题】:Sort list of dictionaries by date in Python 3.4 [duplicate]在Python 3.4中按日期对字典列表进行排序[重复]
【发布时间】:2016-05-13 22:36:27
【问题描述】:

我有一个这样的字典列表,但还有更多字典:

x = [{"duration":datetime.time(5,30),"date":datetime.date(2016,02,13)},{"duration":datetime.time(3,30),"date":datetime.date(2016,02,11)},{"duration":datetime.time(2,0),"date":datetime.date(2016,02,16)}]

有没有办法使用 Python 关键字(例如 sortedlambda)按 date 的升序对该列表进行排序,而无需自定义排序功能?我一直在研究sorted docslambda 在可选key 参数中的使用。

【问题讨论】:

  • 这是一个列表,不是数组。
  • @AdamSmith 哎呀,我来编辑一下
  • @AdamSmith 我不知道我怎么找不到重复的-_-
  • 别担心!这是一个写得很好,回答得很好的问题。将其指向规范问题只会创建更多搜索词,人们可以通过谷歌搜索最终得到正确答案

标签: python arrays sorting python-3.x dictionary


【解决方案1】:

在发布问题时,我想出了答案,所以我想我应该分享。

x = sorted(x, key = lambda k: k["date"])

【讨论】:

  • 也可以接受x.sort(key=operator.itemgetter("date"))
  • 如果你的列表叫做 x 那么你应该把它改成 x = sorted(x, key = lambda k: k["date"])
  • @Hyperion 已更新,它确实增加了清晰度。
猜你喜欢
  • 2014-06-10
  • 2022-01-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多