SORU
25 EYLÜL 2008, PERŞEMBE


Sen her zaman iyilik xrange() Aralık()?

Neden ya da neden değil?

CEVAP
25 EYLÜL 2008, PERŞEMBE


Performans için, geniş bir dizi üzerinden yineleme özellikle, xrange() genellikle daha iyidir. Ancak, yine de range() tercih edebilirsiniz neden birkaç durum vardır:

  • Python 3 range() xrange() eskiden ne iş yapar ve xrange() yok. Eğer kod yazmak istiyorsanız hem Python 2 üzerinde çalışacak ve xrange() kullanamazsınız 3, Python.

  • range() aslında bazı durumlarda daha hızlı olabilir mesela. eğer aynı sıra içinde birden çok kez yineleme. xrange() tamsayı nesne her zaman yeniden inşa etmek için vardır, ama range() gerçek tamsayı nesneleri olacaktır. (Hep kötü hafıza açısından ancak gerçekleştirin)

  • xrange() gerçek bir liste gerekli tüm durumlarda kullanılabilir değil. Örneğin, dilim, veya herhangi bir liste yöntem desteklemiyor.

[Değiştir] vardır mesajların bir çift range() 2to3 aracı tarafından yükseltilir nasıl söz. Kayıt için, burada range() xrange() bazı örnek kullanımları üzerinde araç çalışan çıktı

RefactoringTool: Skipping implicit fixer: buffer
RefactoringTool: Skipping implicit fixer: idioms
RefactoringTool: Skipping implicit fixer: ws_comma
--- range_test.py (original)
    range_test.py (refactored)
@@ -1,7  1,7 @@

 for x in range(20):
-    a=range(20)
     a=list(range(20))
     b=list(range(20))
     c=[x for x in range(20)]
     d=(x for x in range(20))
-    e=xrange(20)
     e=range(20)

Döngü ya da anlama için kullanıldığında, ya da zaten liste ile sarılmış burada gördüğünüz gibi, aralığı değişmeden kalır.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • A Alkhaldi

    A Alkhaldi

    12 Mayıs 2007
  • Kingsimba357

    Kingsimba357

    7 NİSAN 2008
  • waterfairy17

    waterfairy17

    9 Aralık 2007