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