SORU
5 Mart 2009, PERŞEMBE


Sıralama Python sözlük değeri

Bir veritabanında değerleri iki alanı okunan bir sözlük var: bir dize alanı ve bir Sayı alanı. Dize alanı benzersizdir, bu sözlük anahtarıdır.

Tuşlara yok edebilirim, ama ne tür değerlere dayalı olabilir miyim?

Not: ben okuma Yığın Taşması soru How do I sort a list of dictionaries by values of the dictionary in Python? ve muhtemelen değişebilir benim kod listesini sözlük, ama beri ben gerçekten ihtiyaç listesi sözlükleri ben de bunu bilmek istiyordum eğer daha basit bir çözüm.

CEVAP
5 Mart 2009, PERŞEMBE


Olası bir dict sıralamak için, sadece sıralanmış bir dict bir temsili değildir. Dicts doğal olarak orderless, ama diğer türleri, listeler ve diziler gibi değil. Liste—muhtemelen dizilerini bir liste olacak sıralanmış bir temsili.

Örneğin,

import operator
x = {1: 2, 3: 4, 4: 3, 2: 1, 0: 0}
sorted_x = sorted(x.items(), key=operator.itemgetter(1))

sorted_x dizilerini her başlığın ikinci unsuru göre sıralanmış bir liste olacak. dict(sorted_x) == x.

Ve bu değerler yerine anahtarları sıralama için isteyen için

import operator
x = {1: 2, 3: 4, 4: 3, 2: 1, 0: 0}
sorted_x = sorted(x.items(), key=operator.itemgetter(0))

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • 8lacKy

    8lacKy

    30 Mart 2009
  • CodingMadeEasy

    CodingMadeEa

    25 EYLÜL 2010
  • Jeremy Stark

    Jeremy Stark

    23 Mayıs 2010