için list.sort()
yöntemine key
parametre geçirmek, böylece karşılaştırma key
geri dönen değerinin bir fonksiyonu olarak yapılacaktır: Bu durumda,
>>> a = [{23:100}, {3:103}, {2:102}, {36:103}, {43:123}]
>>> a.sort(key=lambda d: d.values()[0], reversed=True)
>>> a
[{23: 100}, {2: 102}, {3: 103}, {36: 103}, {43: 123}]
, anahtar bir sözlük bir fonksiyondur d
ve değerinin bir listesini .values()
ile alır. Sadece bir değer olduğu için, bu sadece geri dönen listeden bir değer elde ederiz. Ardından, list.sort()
yöntemi, sıralama yaparken, sözlüklerin kendileri yerine döndürülen değerleri karşılaştırır.
Hemen hemen
sorted(a, key=dict.values, reverse=True)
aynı şey, ama muhtemelen daha deyimsel:
yerine kullanmak (veya en azından akılda tutmak) olur. Bunun için daha iyi bir veri türü var mı? – tlunter