Diyelim ki elimde aşağıdaki gibi bir sözlük listesi var:
[{'name':'Homer', 'age':39}, {'name':'Bart', 'age':10}]
Bu listeyi name
anahtarına göre sıralamak, dolayısıyla aşağıdaki sonucu elde etmek istiyorum.
[{'name':'Bart', 'age':10}, {'name':'Homer', 'age':39}]
Peki bunu nasıl yapabiliriz?
sorted()
fonksiyonu key=
şeklinde bir parametre alır:
yeniliste = sorted(eskiliste, key=lambda k: k['name'])
Alternatif olarak, işlevi kendiniz tanımlamak yerine operator.itemgetter
kullanabilirsiniz
from operator import itemgetter
yeniliste = sorted(eskiliste, key=itemgetter('name'))
Sözlük listesini key=’age’e göre sıralamak için:
yeniliste = sorted(eskiliste, key=itemgetter('age'))
Azalan düzende sıralama için reverse=True
ekleyebiliriz
yeniliste = sorted(eskiliste, key=itemgetter('name'), reverse=True)