koddla

Yazılımcıları bilgi ile güçlendirir.

Python sözlük listesini sözlük değerlerine göre nasıl sıralarız?

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)

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Back to top