日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

【Python面试】 说说Python中xrange和range的区别?

發布時間:2024/9/15 python 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【Python面试】 说说Python中xrange和range的区别? 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

往期面試題:

談談對 Python 和其他語言的區別?

說說4種常用編碼的區別?

說說Python面向對象三大特性?

說說Python中有幾種數據類型?

廢話不多說,開始今天的題目:

問:說說Python中xrange和range的區別?

答:range()和xrange()都是在循環中使用,輸出結果一樣。

range()返回的是一個list對象,而xrange返回的是一個生成器對象(xrange object)。

xrange()則不會直接生成一個list,而是每次調用返回其中的一個值,內存空間使用極少。因而性能非常好,所以盡量用xrange吧。

在python3 中沒有xrange,只有range。range和python2 中的xrange()一樣。

下面分別來說說這兩者的用法:

1、range()

range 函數說明:range([start,] stop[, step]),根據start與stop指定的范圍以及step設定的步長,生成一個序列。

起點是start,終點是stop,但不包含stop,公差是step。start和step是可選項,沒給出start時,從0開始;沒給出step時,默認公差為1。

range示例:

>>> range(10) #起點是0,終點是10,但是不包括10
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> range(1,10) #起點是1,終點是10,但是不包括10
[1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> range(1,10,2) #起點是1,終點是10,步長為2
[1, 3, 5, 7, 9]
>>> range(0,-10,-1) #起點是1,終點是10,步長為-1
[0, -1, -2, -3, -4, -5, -6, -7, -8, -9]
>>> range(0,-10,1) #起點是0,終點是-10,終點為負數時,步長只能為負數,否則返回空
[]
>>> range(0) #起點是0,返回空列表
[]
>>> range(1,0) #起點大于終點,返回空列表
[]

2、xrange()

xrange與range類似,只是返回的是一個"xrange object"生成器對象,而非數組list。

xrange示例:

>>> xrange(6)
xrange(6) # 注意:這里輸出的和range就不同嘍
>>> list(xrange(6))
[0, 1, 2, 3, 4, 5]
>>> xrange(1, 6)
xrange(1, 6)
>>> list(xrange(1, 6))
[1, 2, 3, 4, 5]
>>> xrange(0,6,2)
xrange(0, 6, 2)
>>> list(xrange(0, 6, 2))
[0, 2, 4]

這兩個基本上都是在循環的時候用:

for?i in?range(0, 100):
??print?i
for?i in?xrange(0, 100):
??print?i

再一次提醒:xrange()函數在Python3中已經取消。在python3中range()這種實現被移除了,保留了xrange()的實現,且將xrange()重新命名成range()。所以Python3不能使用xrange(),只能使用range()。

如果對于參考答案有不認同的,大家可以在評論區指出和補充,歡迎留言!

來和小伙伴們一起向上生長呀!

掃描下方二維碼,添加小詹微信,可領取千元大禮包并申請加入 Python 學習交流群,群內僅供學術交流,日常互動,如果是想發推文、廣告、砍價小程序的敬請繞道!一定記得備注「交流學習」,我會盡快通過好友申請哦!

????長按識別,添加微信

(添加人數較多,請耐心等待)

????長按識別,關注小詹

(掃碼回復 1024 領取程序員大禮包)

推薦閱讀:(點擊標題即可跳轉)

  • 機器學習數學全書,1900 頁 PDF 下載

  • 分享整理的 Python 學習路線圖

好文和朋友一起看~

總結

以上是生活随笔為你收集整理的【Python面试】 说说Python中xrange和range的区别?的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。