Sen her zaman iyilik xrange() Aralık()?
Neden ya da neden değil?
CEVAP
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 vexrange()
yok. Eğer kod yazmak istiyorsanız hem Python 2 üzerinde çalışacak vexrange()
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, amarange()
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.
Ng-eğer karşı iyilik için zaman zaman ...
Python dönüştürme unix zaman damgası t...
Neden sesleniyorsun .python bir sözlük...
Kullanıcı alt jQuery ile div kaydırır ...
Nasıl, nerede ve ne zaman genel yöntem...