python中內(nèi)置函數(shù)range詳解
前言
內(nèi)置函數(shù) range()
- range()函數(shù)的作用:
Python內(nèi)置函數(shù)range()是一個(gè)用于生成一系列連續(xù)的整數(shù)的函數(shù)。它常用于循環(huán)結(jié)構(gòu)中,用于指定循環(huán)的次數(shù)或迭代的范圍。
- 常用的語(yǔ)法:
range(start, stop, step)
其中:
start(可選):開(kāi)始的整數(shù)值,默認(rèn)為0。
stop:結(jié)束的整數(shù)值(不包含此值)。
step(可選):步長(zhǎng),默認(rèn)為1。
- 返回值
range()函數(shù)會(huì)返回一個(gè)range對(duì)象,你可以將其轉(zhuǎn)換成列表(list)或迭代它以獲取一系列整數(shù)。
- range類型的優(yōu)點(diǎn):
不管range對(duì)象表示的整數(shù)序列有多長(zhǎng),所有range對(duì)象占用的內(nèi)存空間都是相同的。因?yàn)閮H僅需要存儲(chǔ)start,stop,step, 只有當(dāng)用到range對(duì)象時(shí),才會(huì)去計(jì)算序列中的相關(guān)元素。
in 和not in 可以判斷整數(shù)序列中是否存在指定的整數(shù)。
三種創(chuàng)建方式
1. 只有一個(gè)參數(shù)的情況
此時(shí)默認(rèn)從零開(kāi)始,生成默認(rèn)步長(zhǎng)為1的序列
當(dāng)range()函數(shù)只有一個(gè)參數(shù)時(shí),該參數(shù)代表的是結(jié)束的整數(shù)值(不包含此值),起始值默認(rèn)為0,步長(zhǎng)默認(rèn)為1。這種情況下的語(yǔ)法如下:
range(stop)
# 生成0到4的整數(shù)序列
for i in range(5):
print(i) # 輸出:0, 1, 2, 3, 4
# 將range對(duì)象轉(zhuǎn)換成列表
numbers = list(range(5))
print(numbers) # 輸出:[0, 1, 2, 3, 4]2. 給定兩個(gè)參數(shù)的情況
當(dāng)range()函數(shù)給定兩個(gè)參數(shù)時(shí),第一個(gè)參數(shù)代表起始的整數(shù)值,第二個(gè)參數(shù)代表結(jié)束的整數(shù)值(不包含此值),步長(zhǎng)默認(rèn)為1。這種情況下的語(yǔ)法如下:
range(start, stop)
r=range(1,10) ## 給定了起始值,從1開(kāi)始到10結(jié)束。此時(shí)不包含10,默認(rèn)步長(zhǎng)為1
生成2到6(不包含6)的整數(shù)序列
for i in range(2, 6):
print(i) # 輸出:2, 3, 4, 5
# 將range對(duì)象轉(zhuǎn)換成列表
numbers = list(range(2, 6))
print(numbers) # 輸出:[2, 3, 4, 5]3. 三個(gè)參數(shù)都給定的時(shí)候
當(dāng)range()函數(shù)給定三個(gè)參數(shù)時(shí),第一個(gè)參數(shù)代表起始的整數(shù)值,第二個(gè)參數(shù)代表結(jié)束的整數(shù)值(不包含此值),第三個(gè)參數(shù)代表步長(zhǎng)。這種情況下的語(yǔ)法如下:
range(start, stop, step)
以下是使用range()函數(shù)給定三個(gè)參數(shù)的示例:
# 生成1到10(不包含10)的偶數(shù)序列
for i in range(1, 10, 2):
print(i) # 輸出:1, 3, 5, 7, 9
# 將range對(duì)象轉(zhuǎn)換成列表
numbers = list(range(1, 10, 2))
print(numbers) # 輸出:[1, 3, 5, 7, 9]使用in和not in 來(lái)判斷指定的整數(shù)是否存在
1. 判斷range生成的序列中是否存在指定的值
# 判斷整數(shù)是否存在于range對(duì)象中 numbers = range(1, 10, 2) print(1 in numbers) # 輸出:True print(6 not in numbers) # 輸出:True # 判斷范圍內(nèi)的值是否存在于range對(duì)象中 r = range(10, 20) print(15 in r) # 輸出:True print(25 not in r) # 輸出:True
我們使用in運(yùn)算符判斷特定的整數(shù)是否存在于range對(duì)象中。同時(shí),我們使用not in運(yùn)算符來(lái)判斷某個(gè)值是否不存在于range對(duì)象中。需要注意的是,當(dāng)使用in或not in運(yùn)算符判斷一個(gè)值是否存在于range對(duì)象中時(shí),會(huì)遍歷整個(gè)序列進(jìn)行搜索。因此,如果range對(duì)象的范圍非常大,這樣的搜索可能會(huì)消耗大量的時(shí)間和內(nèi)存。所以,你可以使用in和not in運(yùn)算符來(lái)判斷一個(gè)特定的值是否存在于range對(duì)象的序列中,并根據(jù)返回的布爾值進(jìn)行相應(yīng)的處理。
2. in 和not in 不與range結(jié)合的情況
# 列表
fruits = ['apple', 'banana', 'orange']
print('apple' in fruits) # 輸出:True
print('grape' not in fruits) # 輸出:True
# 字符串
message = 'Hello, world!'
print('world' in message) # 輸出:True
print('Python' not in message) # 輸出:True總結(jié)
到此這篇關(guān)于python之內(nèi)置函數(shù)range的文章就介紹到這了,更多相關(guān)python內(nèi)置函數(shù)range內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python Pandas 轉(zhuǎn)換unix時(shí)間戳方式
今天小編就為大家分享一篇Python Pandas 轉(zhuǎn)換unix時(shí)間戳方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-12-12
pytorch簡(jiǎn)單實(shí)現(xiàn)神經(jīng)網(wǎng)絡(luò)功能
這篇文章主要介紹了pytorch簡(jiǎn)單實(shí)現(xiàn)神經(jīng)網(wǎng)絡(luò),本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-09-09
python實(shí)現(xiàn)簡(jiǎn)單五子棋小游戲
這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)簡(jiǎn)單五子棋小游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-05-05
在Python中使用matplotlib模塊繪制數(shù)據(jù)圖的示例
這篇文章主要介紹了在Python中使用matplotlib模塊繪制數(shù)據(jù)圖的示例,matplotlib模塊經(jīng)常被用來(lái)實(shí)現(xiàn)數(shù)據(jù)的可視化,需要的朋友可以參考下2015-05-05
python基于mysql實(shí)現(xiàn)的簡(jiǎn)單隊(duì)列以及跨進(jìn)程鎖實(shí)例詳解
這篇文章主要介紹了python基于mysql實(shí)現(xiàn)的簡(jiǎn)單隊(duì)列以及跨進(jìn)程鎖,需要的朋友可以參考下2014-07-07
python with (as)語(yǔ)句實(shí)例詳解
這篇文章主要介紹了python with (as)語(yǔ)句實(shí)例詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-02-02

