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
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:
'açmak için çok fazla değer'...
Sözlük oluşturma ve anahtar değer çift...
Dict anahtarları Python içinde bir özn...
İçin..javascript döngüler - anahtar de...
Bir golang tüm anahtarları içinde dola...