SORU
5 Mayıs 2012, CUMARTESİ


Ne dict arasındaki farktır.() öğeleri ve dict.() iteritems?

dict.items() dict.iteritems() arasında yürürlükteki herhangi bir fark var mı?

Dokümanlar: Python

dict.items(): bir Dönüşkopyalasözlük (anahtar, değer) çiftleri listesi.

dict.iteritems(): Dönüşyineleyicisözlük (anahtar, değer) çiftleri.

Eğer aşağıdaki kodu çalıştırırsanız, her aynı nesne için bir başvuru döndürmek gibi görünüyor. Kaçırdığım herhangi bir küçük farklar vardır?

#!/usr/bin/python

d={1:'one',2:'two',3:'three'}
print 'd.items():'
for k,v in d.items():
   if d[k] is v: print '\tthey are the same object' 
   else: print '\tthey are different'

print 'd.iteritems():'   
for k,v in d.iteritems():
   if d[k] is v: print '\tthey are the same object' 
   else: print '\tthey are different'   

Çıkış:

d.items():
    they are the same object
    they are the same object
    they are the same object
d.iteritems():
    they are the same object
    they are the same object
    they are the same object

CEVAP
5 Mayıs 2012, CUMARTESİ


Bir evrimin bir parçası.

Aslında, Python items() dizilerini gerçek bir listesini inşa ve o döndü. Ekstra bellek bir sürü almak olabilir.

Sonra, jeneratörler genel olarak dile getirilmiştir, ve bu yöntem yineleyici-jeneratör yöntemi iteritems() adlı reimplemented. Orijinal geriye uyumluluk için kalır.

3. Python değişikliklerden biri items() şimdi yineleyicisi döndürür ve bir liste hiç bir zaman tam olarak inşa edilmiştir. iteritems() yöntemi items() şimdi Python 2 iteritems() gibi çalışır, çünkü, kayboldu.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • AginoEvolutionHD

    AginoEvoluti

    27 AĞUSTOS 2011
  • Canal de arkyoru

    Canal de ark

    18 Ocak 2007
  • Leigh Momii

    Leigh Momii

    10 Mayıs 2006