Python教程:在python中的列表推導(dǎo)式詳解
歡迎你來(lái)到站長(zhǎng)在線的站長(zhǎng)學(xué)堂學(xué)習(xí)Python知識(shí),本文學(xué)習(xí)的是《在python中的列表推導(dǎo)式詳解》。本知識(shí)點(diǎn)主要內(nèi)容有:列表推導(dǎo)式的含義,生成指定范圍的數(shù)值列表,根據(jù)列表生成指定需求的列表,從列表中選擇符合條件的元素組成新的列表。
永久美國(guó)免備案虛擬主機(jī)1元1天,15元1月,100元1年,1000元永久
站長(zhǎng)在線旗下答案網(wǎng)站,全站所有題目,免費(fèi)查看答案和答案解析
歡迎你來(lái)到站長(zhǎng)在線的站長(zhǎng)學(xué)堂學(xué)習(xí)python知識(shí),本文學(xué)習(xí)的是《在Python中的列表推導(dǎo)式詳解》。本知識(shí)點(diǎn)主要內(nèi)容有:列表推導(dǎo)式的含義,生成指定范圍的數(shù)值列表,根據(jù)列表生成指定需求的列表,從列表中選擇符合條件的元素組成新的列表。
含義:列表推導(dǎo)式(list comprehension)也稱為列表解析式,就是可以快速生成一個(gè)列表,或者根據(jù)某個(gè)列表生成滿足指定需求的列表。
列表推導(dǎo)式,通常有以下幾種類型的語(yǔ)法格式:
1、生成指定范圍的數(shù)值列表,語(yǔ)法格式如下:
list = [Expression for var in range]
詳細(xì)參數(shù)說(shuō)明:
list:表示生成的列表名稱
Expression:表達(dá)式,用于計(jì)算新列表的元素
var:循環(huán)變量
range:采用range()函數(shù)生成的range對(duì)象
例如,生成一個(gè)10以內(nèi)的序列,和10以內(nèi)的偶數(shù)序列
a1 = [i for i in range(10)] #生成一個(gè)10以內(nèi)的序列
a2 = [i for i in range(10) if i % 2 == 0] #生成一個(gè)10以內(nèi)的偶數(shù)序列
print(a1)
print(a2)
運(yùn)行結(jié)果:
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
[0, 2, 4, 6, 8]
>>>
再來(lái)看一個(gè)例子:10以內(nèi)的平方數(shù),代碼如下:
s = [i**2 for i in range(10)]
print(s)
運(yùn)行結(jié)果如下:
[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
>>>
上面的比較簡(jiǎn)單,下面我們?cè)賮?lái)一個(gè),生成10以內(nèi)的5個(gè)隨機(jī)數(shù)列表,代碼如下:
import random #導(dǎo)入random標(biāo)準(zhǔn)庫(kù)
s = [random.randint(0,10) for i in range(5)]
print("生成的5個(gè)隨機(jī)數(shù)為:",s)
運(yùn)行以后結(jié)果為:
生成的5個(gè)隨機(jī)數(shù)為: [6, 4, 7, 5, 0] #多次運(yùn)行,結(jié)果都不一樣,隨機(jī)生成
>>>
2、根據(jù)列表生成指定需求的列表,語(yǔ)法如下:
newlist = [Expression for var in list]
詳細(xì)參數(shù)說(shuō)明如下:
newlist:表示新生成的列表名稱
Expression:表達(dá)式,用于計(jì)算新列表的元素
var:變量,值為后面列表的每個(gè)元素值
list:用于生成新列表的原列表
列如,定義一個(gè)序列商品的進(jìn)貨價(jià),然后應(yīng)用列表推導(dǎo)式生成一個(gè)全部翻倍的零售價(jià),代碼如下:
jinhuo = [5,2,8,6,6,10,15,5]
lingshou = [int(i*2) for i in jinhuo]
print("進(jìn)貨價(jià):",jinhuo)
print("零售價(jià):",lingshou)
運(yùn)行結(jié)果如下:
進(jìn)貨價(jià): [5, 2, 8, 6, 6, 10, 15, 5]
零售價(jià): [10, 4, 16, 12, 12, 20, 30, 10]
>>>
3、從列表中選擇符合條件的元素組成新的列表,語(yǔ)法格式如下:
newlist = [Expression for var in list if condition]
詳細(xì)參數(shù)說(shuō)明如下:
newlist:表示新生成的列表名稱
Expression:表達(dá)式,用于計(jì)算新列表的元素
var:變量,值為后面列表的每個(gè)元素值
list:用于生成新列表的原列表
condition:條件表達(dá)式,用于指定篩選條件
列如,定義一個(gè)序列商品的進(jìn)貨價(jià),然后應(yīng)用列表推導(dǎo)式生成一個(gè)進(jìn)貨價(jià)小于10的列表,代碼如下:
jinhuo = [5,2,8,6,6,10,15,5]
s = [i for i in jinhuo if i<10]
print("進(jìn)貨價(jià):",jinhuo)
print("進(jìn)貨價(jià)小于10的:",s)
運(yùn)行結(jié)果如下:
進(jìn)貨價(jià): [5, 2, 8, 6, 6, 10, 15, 5]
進(jìn)貨價(jià)小于10的: [5, 2, 8, 6, 6, 5]
>>>
到此為止,本文《在python中的列表推導(dǎo)式詳解》所講到的列表推導(dǎo)式的含義,生成指定范圍的數(shù)值列表,根據(jù)列表生成指定需求的列表,從列表中選擇符合條件的元素組成新的列表。已經(jīng)全部講解完畢,有疑問(wèn)的可以留言哦!
本文地址:http://003188.cn/pythonliebiaotuidaoshi.html
阿里云虛擬主機(jī)1G空間,120元一年
香港、美國(guó)虛擬主機(jī)100元一年,1000元永久
騰訊云雙十一0.4折起,2核8G5M三年僅700元,2核4G8M三年僅198元
猜你喜歡