欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python range函數(shù)之生成器函數(shù)的示例

 更新時間:2022年12月08日 11:06:23   作者:安迪python學(xué)習(xí)筆記  
這篇文章主要介紹了Python range函數(shù)之生成器函數(shù)的示例,本文通過示例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下

range函數(shù)—生成器函數(shù)

1. 什么是range( )函數(shù)

range[re?nd?]:按一定的次數(shù)排列。

range的中文意思是按一定的次數(shù)排列。

range( )函數(shù):Python中的生成器函數(shù)。

range( )函數(shù)在Python中的作用是生成一個新的range對象。

【溫馨提示】

什么是生成器函數(shù)、什么是對象就是Python中的一個概念,就是一個定義,初學(xué)不用過多糾結(jié)。

初學(xué)者重點(diǎn)掌握range函數(shù)的語法即可。

什么是對象,后面的內(nèi)容會講。

2. 回顧列表切片的語法

列表[star:end:step]

列表[開始字符:結(jié)束字符:步長]

列表切片取值語法由4部分構(gòu)成:

  • 列表名。
  • 英文中括號。
  • 3個參數(shù)。
  • 3個參數(shù)之間用英文冒號分隔。
# 新建一個str列表
str_list = ["當(dāng)歸", "人參",  "黃芪",  "紅棗",  "枸杞",  "天麻",  "山楂"]

# 用切片從列表中取值
print(str_list[0:4:2])

# type函數(shù)查看列表切片取值的數(shù)據(jù)類型
print("列表切片取值得到的數(shù)據(jù)類型仍然是列表:", type(str_list[0:4:2]))

【終端輸出】

['當(dāng)歸', '黃芪']
列表切片取值得到的數(shù)據(jù)類型仍然是列表: <class 'list'>

【0:4:2代碼解析】

start=0即開始元素的索引為0,索引0對應(yīng)列表的第1個元素,即元素當(dāng)歸。

end=4即結(jié)束元素的索引為4,索引4對應(yīng)列表的第5個元素,即元素枸杞

注意切片的語法:含前不含后,即含開始元素,不含結(jié)束元素枸杞。

step=2即步長為2,步長為2可以理解成一次性向前走2步,那就是要跳過1個字符。

3. range( )函數(shù)的語法

【列表切片和range函數(shù)的區(qū)別】

列表切片用英文中括號[],range函數(shù)用英文圓括號()

列表切片的3個參數(shù)用英文冒號:分隔。

range函數(shù)的3個參數(shù)用英文逗號,分隔。

列表[star:end:step]

range(star,end,step)

【range( )函數(shù)的語法如下】

range(開始字符,結(jié)束字符,步長)

range( )函數(shù)由4部分組成:

  • 函數(shù)名:range
  • 英文小括號:( )
  • 3個參數(shù)
  • 3個參數(shù)之間用英文逗號,分隔

【參數(shù)說明】

  • 參數(shù)start:表示起始的整數(shù)(包含該整數(shù)),如果不指定,則默認(rèn)為0
  • 參數(shù)end:表示結(jié)束的整數(shù)(不包含該整數(shù)),不能省略。
  • 參數(shù)step:表示步長,即兩個數(shù)之間的間隔。如果省略,則默認(rèn)為1,當(dāng)省略該步長時,最后一個英文逗號也可以省略。

【重點(diǎn)提示】

切片和range函數(shù)都包括開始字符,不包括結(jié)束字符,簡單記憶為含前不含后。

【返回值】

range函數(shù)返回的是一個range對象。

我們可以利用list函數(shù)將range對象轉(zhuǎn)換成列表。

我們可以利用tuple函數(shù)將range對象轉(zhuǎn)換成元組。

【溫馨提示】

range函數(shù)不能直接生成列表或元組,必需利用list、tuple函數(shù)將其轉(zhuǎn)換成列表或元組。

3. range函數(shù)實(shí)操

3.1 只有1個參數(shù)

# 創(chuàng)建一個range 函數(shù),將結(jié)果賦值給變量r
r = range(3)

# 輸出r 
print(r)

# 用type函數(shù)查看r的數(shù)據(jù)類型
print(type(r))

# 用list函數(shù)將range對象轉(zhuǎn)換為列表
print(list(r))

# 用tuple函數(shù)將range對象轉(zhuǎn)換為元組
print(tuple(r))

【終端輸出】

range(0, 3)
<class 'range'>
[0, 1, 2]
(0, 1, 2)

【range(3)代碼解析】

這里只有1個參數(shù)3

只有1個參數(shù)表示從整數(shù)0開始,步長為1。

start=0

end=3

step=1,即步長為1

【代碼解析:返回值】

我們用type函數(shù)查看數(shù)據(jù)類型,返回的是<class 'range'>,即是一個range對象。

我們利用list將其轉(zhuǎn)換成列表,我們可以發(fā)現(xiàn)列表中的元素就是一個數(shù)學(xué)中的等差數(shù)列。

為了方便理解,我們可以認(rèn)為range函數(shù)在list函數(shù)的作用下,創(chuàng)建的就是一個等差數(shù)列。

數(shù)列的公差就是步長。

3.2 有2個參數(shù)

# 創(chuàng)建一個range 函數(shù),將結(jié)果賦值給變量r
r = range(2,5)

# 輸出r 
print(r)

# 用type函數(shù)查看r的數(shù)據(jù)類型
print(type(r))

# 用list函數(shù)將range對象轉(zhuǎn)換為列表
print(list(r))

【終端輸出】

range(2, 5)
<class 'range'>
[2, 3, 4]

【range(2,5)代碼解析】

start=2,從2開始,包含2。

end=5,到5結(jié)束,不包含5。

step=1,步長為1。

因此輸出結(jié)果為2,3,4。

3.3 有3個參數(shù)

# 創(chuàng)建一個range 函數(shù),將結(jié)果賦值給變量r
r = range(2,11,3)

# 輸出r 
print(r)

# 用type函數(shù)查看r的數(shù)據(jù)類型
print(type(r))

# 用list函數(shù)將range對象轉(zhuǎn)換為列表
print(list(r))

【終端輸出】

range(2, 11, 3)
<class 'range'>
[2, 5, 8]

【range(2,11,3)代碼解析】

start=2,從2開始,包含2。

end=11,到11結(jié)束,不包含11。

step=3,步長為3,也可以理解為公差為3的等差數(shù)列。

第1個數(shù)為2。
第2個數(shù)為2+3=5。
第3個數(shù)為5+3=8。
第4個數(shù)為8+3=11。(不包含)
因此輸出列表中有2,5,8三個數(shù)。

3.4 步長為負(fù)數(shù)

# 創(chuàng)建一個range 函數(shù),將結(jié)果賦值給變量r
r = range(15,0,-5)

# 輸出r 
print(r)

# 用type函數(shù)查看r的數(shù)據(jù)類型
print(type(r))

# 用list函數(shù)將range對象轉(zhuǎn)換為列表
print(list(r))

【終端輸出】

range(15, 0, -5)
<class 'range'>
[15, 10, 5]

【range(15,0,-5)代碼解析】

start=15,從15開始,包含15。

end=0,到0結(jié)束,不包含0。

step=-5,步長為-5,也可以理解為公差為-5的等差數(shù)列。

第1個數(shù)為15。
第2個數(shù)為15-5=10。
第3個數(shù)為10-5=5。
第4個數(shù)為5-5=0。(不包含)
因此輸出列表中有15,10,5三個數(shù)。

4. list不能完全替代range

range函數(shù)和list函數(shù)最終都能生成一個列表,但兩個函數(shù)各有優(yōu)缺點(diǎn)。

# 創(chuàng)建一個整數(shù)列表
int_list = [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19]
print(int_list)

r=range(20)
print(list(r))

【終端輸出】

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19]
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19]

觀察上面的代碼,我們發(fā)現(xiàn)用range函數(shù)創(chuàng)建一個有規(guī)律的整數(shù)列表更為便捷。

list函數(shù)需要寫20個元素,但range函數(shù)最多寫3個參數(shù)就可以完成。

5. 總結(jié)

到此這篇關(guān)于Python range函數(shù)—生成器函數(shù)的文章就介紹到這了,更多相關(guān)Python range函數(shù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • PyQt5的PyQtGraph實(shí)踐系列3之實(shí)時數(shù)據(jù)更新繪制圖形

    PyQt5的PyQtGraph實(shí)踐系列3之實(shí)時數(shù)據(jù)更新繪制圖形

    這篇文章主要介紹了PyQt5的PyQtGraph實(shí)踐系列3之實(shí)時數(shù)據(jù)更新繪制圖形,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-05-05
  • Python中zip()函數(shù)的簡單用法舉例

    Python中zip()函數(shù)的簡單用法舉例

    這篇文章主要給大家介紹了關(guān)于Python中zip()函數(shù)的簡單用法,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用Python具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-09-09
  • Python單元測試入門到精通講解

    Python單元測試入門到精通講解

    單元測試是軟件開發(fā)中不可或缺的一部分,有助于確保代碼的正確性、可維護(hù)性和可擴(kuò)展性,在Python中,有豐富的工具和庫可用于進(jìn)行單元測試,本文將為你提供一個全面的指南,從入門到精通,輕松掌握Python單元測試的方方面面
    2023-11-11
  • Python多進(jìn)程庫multiprocessing中進(jìn)程池Pool類的使用詳解

    Python多進(jìn)程庫multiprocessing中進(jìn)程池Pool類的使用詳解

    這篇文章主要介紹了Python多進(jìn)程庫multiprocessing中進(jìn)程池Pool類的使用詳解,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-11-11
  • 用Python解析XML的幾種常見方法的介紹

    用Python解析XML的幾種常見方法的介紹

    這篇文章主要介紹了用Python解析XML的幾種常見方法,包括快速的使用ElementTree模塊等方法的實(shí)例介紹,需要的朋友可以參考下
    2015-04-04
  • python實(shí)現(xiàn)字典嵌套列表取值

    python實(shí)現(xiàn)字典嵌套列表取值

    今天小編就為大家分享一篇python實(shí)現(xiàn)字典嵌套列表取值,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12
  • python異步任務(wù)隊列示例

    python異步任務(wù)隊列示例

    這篇文章主要介紹了python異步任務(wù)隊列示例,需要的朋友可以參考下
    2014-04-04
  • 記錄Python腳本的運(yùn)行日志的方法

    記錄Python腳本的運(yùn)行日志的方法

    這篇文章主要介紹了記錄Python腳本的運(yùn)行日志的方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-06-06
  • Python創(chuàng)建一個元素都為0的列表實(shí)例

    Python創(chuàng)建一個元素都為0的列表實(shí)例

    今天小編就為大家分享一篇Python創(chuàng)建一個元素都為0的列表實(shí)例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-11-11
  • PyQt5使用QTimer實(shí)現(xiàn)電子時鐘

    PyQt5使用QTimer實(shí)現(xiàn)電子時鐘

    這篇文章主要為大家詳細(xì)介紹了PyQt5使用QTimer實(shí)現(xiàn)電子時鐘,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-07-07

最新評論