SORU
29 Aralık 2010, ÇARŞAMBA


Bir dict anahtarları olarak ayrılmış anahtar/değer çiftleri içinde dolaşmak

Sadece bir dict (çiftleri tuşları ile sınıflandırılmaktadır)/değer çiftleri: anahtar yazdırma aşağıdaki kodu var

for word, count in sorted(count_words(filename).items()):
    print word, count

Ancak, items() yerine iteritems() arama aynı çıktıyı üretir

for word, count in sorted(count_words(filename).iteritems()):
    print word, count

Şimdi, bu durumda hangisini seçmeliyim? Ama gerçekten benim soruya cevap vermez Python tutorial danıştım.

CEVAP
29 Aralık 2010, ÇARŞAMBA


Python 2'de.x her ikisi de aynı sonucu verecektir. Aralarındaki fark items listesi iteritems Bir defada bir öğe getirir bir yineleyici verir oysa sözlüğün tüm içeriğini içeren yapılar. Genel olarak iteritems çok fazla bellek gerektirmez, çünkü daha iyi bir seçimdir. Ama burada muhtemelen, bu durumda herhangi bir önemli fark yapmaz sonuç sıralama. Eğer şüpheniz varsa iteritems güvenli bir bahistir. Eğer performans çok önemli ise her iki ölçmek ve daha hızlı olduğunu görmek.

Python 3'te.x iteritems kaldırıldı items iteritems yapmak, programcılar daha iyi olduğu konusunda endişe verici zaman israf sorununu çözmek için kullanılır. :)

Eğer düz bir dict (Python 2.7 veya daha yeni gerektirir) yerine collections.Counter kullanarak düşünebilirsiniz kelime tekrarı geri sayım başladı. bir yan not olarak:

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Codecourse

    Codecourse

    3 ŞUBAT 2009
  • NightShader1

    NightShader1

    25 Temmuz 2006
  • OVERWERK

    OVERWERK

    6 Temmuz 2010