python2的xrange比range的优点_python相对于range应该更倾向于实用xrange吗
range和xrange的比較
range
函數(shù)用法:
range(stop)
range(start,stop[,step])
函數(shù)說明:
這是一個創(chuàng)建包含數(shù)列的列表的通用函數(shù)。它最常用于for循環(huán)。參數(shù)必須為普通的整數(shù)。如果step參數(shù)省略,則默認(rèn)為1。如果start參數(shù)省略,則默認(rèn)為0。該函數(shù)的完整形式返回一個整數(shù)列表[start, start + step, start + 2 * step, …]。如果step為正,則最后一個元素start + i * step最大且小于stop;如果step為負(fù),則最后一個元素start + i * step最小且大于stop。step必須不能為零(否則會引發(fā)ValueError)。
示例
xrange
函數(shù)用法:
xrange(stop)
xrange(start,stop[,step])
函數(shù)說明:
該函數(shù)與range()十分相似,但返回的是xrange對象類型而不是列表。這是一個惰性的序列類型,它生成與對應(yīng)的列表相同的值,但不會真正同時一起存儲它們。xrange()相比range()的優(yōu)勢不大(因?yàn)閤range()仍然必須創(chuàng)建需要的值),除非在內(nèi)存緊張的機(jī)器上使用一個非常大的range或這range的所有元素從不會使用(例如當(dāng)循環(huán)經(jīng)常被break終止)。
xrange對象類型說明
xrange類型是不可變的序列,通常用于循環(huán)。xrange類型的好處是xrange對象始終占用相同數(shù)量的內(nèi)存,無論它表示的范圍的大小。但它沒有始終一致的性能優(yōu)勢。
xRange對象的行為很少:它們僅支持索引、迭代和len()函數(shù)。
示例
由上面的示例可以看出:range()與xrange()方法完全相同,基本上都是在循環(huán)的時候用,而且兩者輸出的結(jié)果都一樣,兩者最大的不同點(diǎn)在于range()會直接生成一個list對象;xrange()生成的則是xrange對象而不是list對象,每次調(diào)用返回其中的值。
總結(jié)
以上是生活随笔為你收集整理的python2的xrange比range的优点_python相对于range应该更倾向于实用xrange吗的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 1231 sqlserver_sqlse
- 下一篇: pip 设置超时时间_pip insta