溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python經典面試題:說說Python中xrange和range的區別?

發布時間:2020-08-13 18:24:28 來源:ITPUB博客 閱讀:184 作者:千鋒Python唐小強 欄目:編程語言

昨晚一小伙后臺問xrange和range有啥區別,講了下他倒領悟的挺快,其實這也是你各 面試Python崗位,經常會遇到的 Python面試題,長個心眼哈,說不定明年3月你找工作就用上了。

廢話不多說,開始今天的 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) #起點大于終點,返回空列表
[]
Python經典面試題:說說Python中xrange和range的區別?

2、xrange()

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

xrange示例:

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

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

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常見經典面試題,也會繼續為大家更新!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女