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

  • CZTUTORIALS

    CZTUTORIALS

    28 Ocak 2011
  • Mindy

    Mindy

    20 NİSAN 2006
  • SRI International

    SRI Internat

    30 NİSAN 2008