真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Python中怎么實(shí)現(xiàn)列表生成式

Python中怎么實(shí)現(xiàn)列表生成式,相信很多沒(méi)有經(jīng)驗(yàn)的人對(duì)此束手無(wú)策,為此本文總結(jié)了問(wèn)題出現(xiàn)的原因和解決方法,通過(guò)這篇文章希望你能解決這個(gè)問(wèn)題。

創(chuàng)新互聯(lián)從2013年創(chuàng)立,公司以做網(wǎng)站、網(wǎng)站設(shè)計(jì)、系統(tǒng)開(kāi)發(fā)、網(wǎng)絡(luò)推廣、文化傳媒、企業(yè)宣傳、平面廣告設(shè)計(jì)等為主要業(yè)務(wù),適用行業(yè)近百種。服務(wù)企業(yè)客戶(hù)千余家,涉及國(guó)內(nèi)多個(gè)省份客戶(hù)。擁有多年網(wǎng)站建設(shè)開(kāi)發(fā)經(jīng)驗(yàn)。為企業(yè)提供專(zhuān)業(yè)的網(wǎng)站建設(shè)、創(chuàng)意設(shè)計(jì)、宣傳推廣等服務(wù)。 通過(guò)專(zhuān)業(yè)的設(shè)計(jì)、獨(dú)特的風(fēng)格,為不同客戶(hù)提供各種風(fēng)格的特色服務(wù)。

1. 方法一是循環(huán):

L = [] for x in range(1, 11):     L.append(x * x) print(L)

但是循環(huán)太繁瑣,而列表生成式則可以用一行語(yǔ)句代替循環(huán)生成上面的list:

print([x * x for x in range(1, 11)])

Python中怎么實(shí)現(xiàn)列表生成式

寫(xiě)列表生成式時(shí),把要生成的元素x * x放到前面,后面跟for循環(huán),就可以把list創(chuàng)建出來(lái),十分有用,多寫(xiě)幾次,很快就可以熟悉這種語(yǔ)法。

for循環(huán)后面還可以加上if判斷,這樣就可以篩選出僅偶數(shù)的平方:

for x in range(1, 11):     L.append(x * x)  print([x * x for x in range(1, 11) if x % 2 == 0])

Python中怎么實(shí)現(xiàn)列表生成式

2. 使用兩層循環(huán),可以生成全排列

L = [] for x in range(1, 11):     L.append(x * x)  print( [m + n for m in 'ABC' for n in 'XYZ'])

Python中怎么實(shí)現(xiàn)列表生成式

三層和三層以上的循環(huán)就很少用到了。

3. 運(yùn)用列表生成式,可以寫(xiě)出非常簡(jiǎn)潔的代碼。

例如,列出當(dāng)前目錄下的所有文件和目錄名,可以通過(guò)一行代碼實(shí)現(xiàn):

import os  # 導(dǎo)入os模塊,模塊的概念后面講到  print([d for d in os.listdir('.')])  # os.listdir可以列出文件和目錄

Python中怎么實(shí)現(xiàn)列表生成式

for循環(huán)其實(shí)可以同時(shí)使用兩個(gè)甚至多個(gè)變量,s比如dict的items()可以同時(shí)迭代key和value:

d = {'x': 'A', 'y': 'B', 'z': 'C'} for k, v in d.items():     print(k, '=', v)

Python中怎么實(shí)現(xiàn)列表生成式

因此,列表生成式也可以使用兩個(gè)變量來(lái)生成list:

d = {'x': 'A', 'y': 'B', 'z': 'C' } print([k + '=' + v for k, v in d.items()]

Python中怎么實(shí)現(xiàn)列表生成式

最后把一個(gè)list中所有的字符串變成小寫(xiě):

L = ['Hello', 'World', 'IBM', 'Apple'] print([s.lower() for s in L])

Python中怎么實(shí)現(xiàn)列表生成式

如果list中既包含字符串,又包含整數(shù),由于非字符串類(lèi)型沒(méi)有l(wèi)ower()方法,所以列表生成式會(huì)報(bào)錯(cuò):

L = ['Hello', 'World', 18, 'Apple', None] print([s.lower() for s in L])

Python中怎么實(shí)現(xiàn)列表生成式

使用內(nèi)建的isinstance函數(shù)可以判斷一個(gè)變量是不是字符串:

x = 'abc' y = 123 print(isinstance(x, str))  print(isinstance(y, str))

Python中怎么實(shí)現(xiàn)列表生成式

三、練習(xí)和思考

請(qǐng)修改列表生成式,通過(guò)添加if語(yǔ)句保證列表生成式能正確地執(zhí)行。

# -*- coding: utf-8 -*- L1 = ['Hello', 'World', 18, 'Apple', None] L2=???  # 期待輸出: ['hello', 'world', 'apple'] print(L2)

練習(xí)參考代碼 :

L2 =[s.lower() for s in L1 if isinstance(s, str) ]

運(yùn)行結(jié)果:

Python中怎么實(shí)現(xiàn)列表生成式

注:

運(yùn)用列表生成式,可以快速生成list,可以通過(guò)一個(gè)list推導(dǎo)出另一個(gè)list,而代碼卻十分簡(jiǎn)潔。

看完上述內(nèi)容,你們掌握Python中怎么實(shí)現(xiàn)列表生成式的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!


名稱(chēng)欄目:Python中怎么實(shí)現(xiàn)列表生成式
鏈接分享:http://weahome.cn/article/pjcgjd.html

其他資訊

在線咨詢(xún)

微信咨詢(xún)

電話(huà)咨詢(xún)

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部