Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/349.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python列表按降序排序_Python_Sorting_Reverse - Fatal编程技术网

Python列表按降序排序

Python列表按降序排序,python,sorting,reverse,Python,Sorting,Reverse,如何按降序排列此列表 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",

如何按降序排列此列表

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"
]

这将为您提供数组的排序版本

sorted(timestamps, reverse=True)
如果要就地排序,请执行以下操作:

timestamps.sort(reverse=True)

由于您的列表已按升序排列,我们可以简单地反转列表

>>> 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']

在一行中,使用
lambda

timestamps.sort(key=lambda x: time.strptime(x, '%Y-%m-%d %H:%M:%S')[0:6], reverse=True)

将函数传递给列表。排序:

def foo(x):
    return time.strptime(x, '%Y-%m-%d %H:%M:%S')[0:6]

timestamps.sort(key=foo, reverse=True)

您可以简单地执行以下操作:

timestamps.sort(reverse=True)
您可以简单地键入:

timestamps.sort()
timestamps=timestamps[::-1]
这是另一种方法


timestamps.sort()
timestamps.reverse()
打印(时间戳)

转换为时间元组是不必要的。@Marcelo:只是巧合。@IgnacioVazquez Abrams不,不是巧合。ISO 8601的明确设计使字母顺序与时间顺序一致。@jwg日期和时间组件之间有一个空格。@MarceloCantos以及该空格如何影响顺序?
反向
在2.4中添加。但请注意,
sort()
是稳定的,因此给出的两位代码不一定给出相同的结果。@Rajeev-不要忘记,只有以这种方式写入日期(YYYY-MM-DD HH:MM:SS)时,才能对日期进行排序,其中字母顺序与时间顺序相同。'DD.MM.YYYY'就是一个很好的例子,在这里您需要的不仅仅是
排序(reverse=True)
.print(“排序前列表”);印刷品(myList);myList.sort(reverse=True);打印(“分类列表:+str(myList))@这是一个答案,不是一个评论,作为一个答案,它是多余的。这是一个奇怪的答案,因为你在适当的位置进行排序,但在适当的位置进行反转。如果原始列表中存在另一个变量别名,则其值之后将不会使元素按原始顺序排列,也不会按降序排列;别名将指向按升序排序的列表。这可能是相当令人惊讶的,并且是微妙的bug的来源。