Hoe kan ik deze lijst in aflopende volgorde sorteren?
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"
]
Antwoord 1, autoriteit 100%
In één regel, met een lambda
:
timestamps.sort(key=lambda x: time.strptime(x, '%Y-%m-%d %H:%M:%S')[0:6], reverse=True)
Een functie doorgeven aan list.sort
:
def foo(x):
return time.strptime(x, '%Y-%m-%d %H:%M:%S')[0:6]
timestamps.sort(key=foo, reverse=True)
Antwoord 2, autoriteit 94%
Dit geeft je een gesorteerde versie van de array.
sorted(timestamps, reverse=True)
Als u ter plaatse wilt sorteren:
timestamps.sort(reverse=True)
Antwoord 3, autoriteit 15%
Je kunt dit eenvoudig doen:
timestamps.sort(reverse=True)
Antwoord 4, autoriteit 2%
je typt simpel:
timestamps.sort()
timestamps=timestamps[::-1]
Antwoord 5, autoriteit 2%
Omdat je lijst al in oplopende volgorde staat, kunnen we de lijst gewoon omdraaien.
>>> 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']
Antwoord 6
Hier is een andere manier
timestamps.sort()
timestamps.reverse()
print(timestamps)