问题:Python列表按降序排序
如何按降序对列表进行排序?
timestamp = [
    "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"
]
回答 0
在一行中,使用lambda:
timestamp.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]
timestamp.sort(key=foo, reverse=True)
回答 1
这将为您提供阵列的排序版本。
sorted(timestamp, reverse=True)如果要就地排序:
timestamp.sort(reverse=True)回答 2
您可以简单地做到这一点:
timestamp.sort(reverse=True)回答 3
由于您的列表已经按升序排列,因此我们可以简单地反转列表。
>>> timestamp.reverse()
>>> timestamp
['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']回答 4
您简单的输入:
timestamp.sort()
timestamp=timestamp[::-1]回答 5
这是另一种方式
timestamp.sort()
timestamp.reverse()
print(timestamp)
	声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

