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-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\"
]
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)
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)
You can simply do this:
timestamp.sort(reverse=True)
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\']
you simple type:
timestamp.sort()
timestamp=timestamp[::-1]