5
[{'czas': 33}, {'czas': 11}, {'czas': 66}]Jak posortować listę w języku Python?
Jak sortować według elementu "czas", DESC.
[{'czas': 33}, {'czas': 11}, {'czas': 66}]Jak posortować listę w języku Python?
Jak sortować według elementu "czas", DESC.
Jak to:
from operator import itemgetter
l = sorted(l, key=itemgetter('time'), reverse=True)
czyli
l = sorted(l, key=lambda a: a['time'], reverse=True)
wyjściowa:
[{'time': 66}, {'time': 33}, {'time': 11}]
Jeśli nie chcesz zachować oryginalną kolejność można użyć your_list.sort
który modyfikuje oryginalna lista zamiast tworzenia kopii, takiej jak sorted(your_list)
l.sort(key=lambda a: a['time'], reverse=True)
Preferowana jest wersja operatora.itemgetter. Ma jedno wywołanie mniej funkcji dla każdego elementu. – nosklo
@nosklo, itemgetter w rzeczywistości zwraca funkcję, która działa prawie tak samo jak lambda a: a ['time'], więc nie ma dużej różnicy w stosunku do tej perspektywy. Obie metody obejmują wywołanie funkcji dla każdego elementu. –