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

  • BenjiManTV

    BenjiManTV

    20 Mart 2011
  • movies95

    movies95

    27 Kasım 2006
  • Peter Sharp

    Peter Sharp

    11 ŞUBAT 2013