Python list sort in descending order

前端 未结 6 826
小鲜肉
小鲜肉 2020-11-22 13:23

How can I sort this list in descending order?

timestamp = [
    \"2010-04-20 10:07:30\",
    \"2010-04-20 10:07:38\",
    \"2010-04-20 10:07:52\",
    \"2010         


        
相关标签:
6条回答
  • 2020-11-22 13:30

    This will give you a sorted version of the array.

    sorted(timestamp, reverse=True)
    

    If you want to sort in-place:

    timestamp.sort(reverse=True)
    
    0 讨论(0)
  • 2020-11-22 13:34

    You can simply do this:

    timestamp.sort(reverse=True)
    
    0 讨论(0)
  • 2020-11-22 13:34

    Here is another way

    
    timestamp.sort()
    timestamp.reverse()
    print(timestamp)
    
    0 讨论(0)
  • 2020-11-22 13:36

    you simple type:

    timestamp.sort()
    timestamp=timestamp[::-1]
    
    0 讨论(0)
  • 2020-11-22 13:43

    In one line, using a lambda:

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

    Passing a function to list.sort:

    def foo(x):
        return time.strptime(x, '%Y-%m-%d %H:%M:%S')[0:6]
    
    timestamp.sort(key=foo, reverse=True)
    
    0 讨论(0)
  • 2020-11-22 13:47

    Since your list is already in ascending order, we can simply reverse the list.

    >>> 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']
    
    0 讨论(0)
提交回复
热议问题