列表推導(dǎo)式生成列表對象,語法如下:
創(chuàng)新互聯(lián)是一家企業(yè)級(jí)云計(jì)算解決方案提供商,超15年IDC數(shù)據(jù)中心運(yùn)營經(jīng)驗(yàn)。主營GPU顯卡服務(wù)器,站群服務(wù)器,成都機(jī)柜租用,海外高防服務(wù)器,服務(wù)器機(jī)柜,動(dòng)態(tài)撥號(hào)VPS,海外云手機(jī),海外云服務(wù)器,海外服務(wù)器租用托管等。
'''
[表達(dá)式 for item in 可迭代對象]
或者
[表達(dá)式 for item in 可迭代對象 if 條件判斷]
'''
例子
l1 = [x for x in range(5)]
print(l1) # [0, 1, 2, 3, 4]
l2 = [x*2 for x in range(1,5)]
print(l2) # [2, 4, 6, 8]
l3 = [x*2 for x in range(1,100) if x % 5 == 0]
print(l3) # [10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120, 130, 140, 150, 160, 170, 180, 190]
l4 = [x for x in "abcdefghij"]
print(l4) # ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j']
l5 = [(row,col) for row in range(3) for col in range(1,4)]
print(l5) # [(0, 1), (0, 2), (0, 3), (1, 1), (1, 2), (1, 3), (2, 1), (2, 2), (2, 3)]
for l6 in l5:
print(l6)
字典推導(dǎo)式生成字典對象,語法如下:
'''
{key:value for 表達(dá)式 in 可迭代對象}
字典推導(dǎo)式也可以加if和多個(gè)for循環(huán)
'''
例子
# 統(tǒng)計(jì)字符串中各個(gè)字符出現(xiàn)的次數(shù)
#Python學(xué)習(xí)交流群:
text = "i love liangxiaoxin,i can fall in love liangxiaoxin all the time."
count_dict = {d : text.count(d) for d in text}
print(count_dict) # {'i': 10, ' ': 10, 'l': 8, 'o': 4, 'v': 2, 'e': 4, 'a': 7, 'n': 6, 'g': 2, 'x': 4, ',': 1, 'c': 1, 'f': 1, 't': 2, 'h': 1, 'm': 1, '.': 1}
集合推導(dǎo)式生成集合,和列表推導(dǎo)式的語法格式類似,語法如下:
'''
{表達(dá)式 for item in 可迭代對象}
或者
{表達(dá)式 for item in 可迭代對象 if 條件判斷}
'''
例子
s = {x for x in range(100) if x % 7 == 0}
print(s) # {0, 98, 35, 70, 7, 42, 77, 14, 49, 84, 21, 56, 91, 28, 63}
元組是沒有推導(dǎo)式的,元組推導(dǎo)式生成的是一個(gè)生成器對象
一個(gè)迭代器只能運(yùn)行一次,第一次迭代可以得到數(shù)據(jù),第二次迭代不會(huì)顯示數(shù)據(jù)
例子
t1 = (x*2 for x in range(1,100) if x % 9 == 0)
print(t1) # <generator object <genexpr> at 0x00000257B30D69E8>
print(list(t1)) # [18, 36, 54, 72, 90, 108, 126, 144, 162, 180, 198]
print(tuple(t1)) # ()
t2 = (x*2 for x in range(1,100) if x % 9 == 0)
for t in t2:
print(t,end="\t") # 18 36 54 72 90 108 126 144 162 180 198
本文題目:Python推導(dǎo)式創(chuàng)建數(shù)列的方法
分享URL:http://chinadenli.net/article18/dsogdgp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站營銷、靜態(tài)網(wǎng)站、網(wǎng)頁設(shè)計(jì)公司、建站公司、電子商務(wù)、網(wǎng)站策劃
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)