【发布时间】:2021-07-03 21:15:45
【问题描述】:
我正在做一些学习工作,并且陷入了一些问题!
我有这个日程表
lists = [['Lunch', '2021-04-05 12:00', '2021-04-05 13:00'], ['Dinner', '2021-04-05 13:00', '2021-04-05 14:00'], ['Lunch', '2021-04-04 13:00', '2021-04-04 14:00']]
而且,我想按列表[1]的开始日期对这个列表进行排序
我尝试做的是下面
lists = [['Lunch', '2021-04-05 12:00', '2021-04-05 13:00'], ['Dinner', '2021-04-05 13:00', '2021-04-05 14:00'], ['감자', '2021-04-04 13:00', '2021-04-04 14:00']]
sorted_lists = []
for i in lists:
i[1] = i[1].replace('-', '').replace(' ', '').replace(':', '')
i[2] = i[1].replace('-', '').replace(' ', '').replace(':', '')
sorted_lists.append(i)
sorted(sorted_lists, key=lambda date: date[1])
print(sorted_lists)
注意,我不想使用日期、时间等任何模块
但是,它会切换每个项目的位置。
有没有最好的按开始日期排序的方法?
谢谢。
如果我的解释不好,请告诉我..!
感谢大家的阅读
【问题讨论】:
-
sorted()返回一个 new 排序列表;它不会更新原始列表。请改用sorted_lists.sort(key=...)。
标签: python list sorting replace flatten