Rumah > pembangunan bahagian belakang > Tutorial Python > python相对于range应该更倾向于实用xrange吗

python相对于range应该更倾向于实用xrange吗

silencement
Lepaskan: 2019-05-25 16:22:13
asal
2861 orang telah melayarinya

python相对于range应该更倾向于实用xrange吗

range和xrange的比较

range

函数用法: 
range(stop) 
range(start,stop[,step]) 
函数说明: 
这是一个创建包含数列的列表的通用函数。它最常用于for循环。参数必须为普通的整数。如果step参数省略,则默认为1。如果start参数省略,则默认为0。该函数的完整形式返回一个整数列表[start, start + step, start + 2 * step, …]。如果step为正,则最后一个元素start + i * step最大且小于stop;如果step为负,则最后一个元素start + i * step最小且大于stop。step必须不能为零(否则会引发ValueError)。 

示例

14fad38deaa097d45610256eae02375.png

xrange

函数用法: 
xrange(stop) 
xrange(start,stop[,step]) 
函数说明: 
该函数与range()十分相似,但返回的是xrange对象类型而不是列表。这是一个惰性的序列类型,它生成与对应的列表相同的值,但不会真正同时一起存储它们。xrange()相比range()的优势不大(因为xrange()仍然必须创建需要的值),除非在内存紧张的机器上使用一个非常大的range或这range的所有元素从不会使用(例如当循环经常被break终止)。 
xrange对象类型说明 
xrange类型是不可变的序列,通常用于循环。xrange类型的好处是xrange对象始终占用相同数量的内存,无论它表示的范围的大小。但它没有始终一致的性能优势。 
xRange对象的行为很少:它们仅支持索引、迭代和len()函数。 

示例

1326e93127fe0869a45c8fedea04031.png

由上面的示例可以看出:range()与xrange()方法完全相同,基本上都是在循环的时候用,而且两者输出的结果都一样,两者最大的不同点在于range()会直接生成一个list对象;xrange()生成的则是xrange对象而不是list对象,每次调用返回其中的值。

Atas ialah kandungan terperinci python相对于range应该更倾向于实用xrange吗. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan