479 Stimmen

Python-Liste in absteigender Reihenfolge sortieren

Wie kann ich diese Liste in absteigender Reihenfolge sortieren?

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

590voto

Marcelo Cantos Punkte 173498

Dadurch erhalten Sie eine sortierte Version des Arrays.

sorted(timestamps, reverse=True)

Wenn Sie an Ort und Stelle sortieren möchten:

timestamps.sort(reverse=True)

Prüfen Sie die Dokumente unter Sortierung HOW TO

429voto

Ignacio Vazquez-Abrams Punkte 735200

In einer Zeile, unter Verwendung eines lambda :

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

Übergabe einer Funktion an list.sort :

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

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

66voto

Wolph Punkte 73880

Sie können dies einfach tun:

timestamps.sort(reverse=True)

13voto

mostafa elmadany Punkte 131

Sie einfach tippen:

timestamps.sort()
timestamps=timestamps[::-1]

11voto

Russell Dias Punkte 67456

Da Ihre Liste bereits in aufsteigender Reihenfolge ist, können wir die Liste einfach umkehren.

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

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X