Python 列表按降序排序
- 2024-12-24 08:55:00
- admin 原创
- 48
问题描述:
我如何按降序排列此列表?
timestamps = [
"2010-04-20 10:07:30",
"2010-04-20 10:07:38",
"2010-04-20 10:07:52",
"2010-04-20 10:08:22",
"2010-04-20 10:08:22",
"2010-04-20 10:09:46",
"2010-04-20 10:10:37",
"2010-04-20 10:10:58",
"2010-04-20 10:11:50",
"2010-04-20 10:12:13",
"2010-04-20 10:12:13",
"2010-04-20 10:25:38"
]
解决方案 1:
这将为您提供数组的排序版本。
sorted(timestamps, reverse=True)
如果要就地排序:
timestamps.sort(reverse=True)
查看文档:Sorting HOW TO
解决方案 2:
在一行中使用lambda
:
timestamps.sort(key=lambda x: time.strptime(x, '%Y-%m-%d %H:%M:%S')[0:6], reverse=True)
将函数传递给list.sort
:
def foo(x):
return time.strptime(x, '%Y-%m-%d %H:%M:%S')[0:6]
timestamps.sort(key=foo, reverse=True)
解决方案 3:
你可以简单地这样做:
timestamps.sort(reverse=True)
解决方案 4:
你简单输入:
timestamps.sort()
timestamps=timestamps[::-1]
解决方案 5:
由于您的列表已经按升序排列,我们可以简单地反转列表。
>>> timestamps.reverse()
>>> timestamps
['2010-04-20 10:25:38',
'2010-04-20 10:12:13',
'2010-04-20 10:12:13',
'2010-04-20 10:11:50',
'2010-04-20 10:10:58',
'2010-04-20 10:10:37',
'2010-04-20 10:09:46',
'2010-04-20 10:08:22',
'2010-04-20 10:08:22',
'2010-04-20 10:07:52',
'2010-04-20 10:07:38',
'2010-04-20 10:07:30']
解决方案 6:
这是另一种方法
timestamps.sort()
timestamps.reverse()
print(timestamps)
解决方案 7:
尤其是当数据为数字时,可以使用负数按降序排序。如果您无论如何都需要传递排序键,这将特别有用。例如,如果数据如下:
data = ['9', '10', '3', '4.5']
sorted(data, reverse=True) # doesn't sort correctly
sorted(data, key=lambda x: -float(x)) # sorts correctly
# ^ negate here
# that said, passing a key along with reverse=True also work
sorted(data, key=float, reverse=True) # ['10', '9', '4.5', '3']
对于日期时间的示例,其看起来如下所示:
from datetime import datetime
ts = ["04/20/2010 10:07:30", "12/01/2009 10:07:52", "01/13/2020 10:08:22", "12/01/2009 12:07:52"]
ts.sort(key=lambda x: -datetime.strptime(x, '%m/%d/%Y %H:%M:%S').timestamp())
# ^^^^ convert to a number here
ts
# ['01/13/2020 10:08:22', '04/20/2010 10:07:30', '12/01/2009 12:07:52', '12/01/2009 10:07:52']
相关推荐
热门文章
项目管理软件有哪些?
- 2024年20款好用的项目管理软件推荐,项目管理提效的20个工具和技巧
- 2024年开源项目管理软件有哪些?推荐5款好用的项目管理工具
- 2024年常用的项目管理软件有哪些?推荐这10款国内外好用的项目管理工具
- 项目管理软件有哪些?推荐7款超好用的项目管理工具
- 项目管理软件有哪些最好用?推荐6款好用的项目管理工具
- 项目管理软件哪个最好用?盘点推荐5款好用的项目管理工具
- 项目管理软件有哪些,盘点推荐国内外超好用的7款项目管理工具
- 项目管理软件排行榜:2024年项目经理必备5款开源项目管理软件汇总
- 2024项目管理软件排行榜(10类常用的项目管理工具全推荐)
- 项目管理必备:盘点2024年13款好用的项目管理软件
热门标签
云禅道AD