欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python開發(fā)入門——列表生成式

 更新時(shí)間:2020年09月03日 10:02:25   作者:誰主沉浮oo7  
這篇文章主要介紹了python 列表生成式的相關(guān)資料,幫助大家更好的理解和學(xué)習(xí)python開發(fā),感興趣的朋友可以了解下

介紹

本文主要介紹Python中列表生成式的基本知識(shí)和使用

生成列表

要生成list [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],我們可以用range(1, 11):

>>> range(1, 11)
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

但如果要生成[1x1, 2x2, 3x3, ..., 10x10]怎么做?方法一是循環(huán):

>>> L = []
>>> for x in range(1, 11):
... L.append(x * x)
... 
>>> L
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

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

>>> [x * x for x in range(1, 11)]
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

這種寫法就是Python特有的列表生成式。利用列表生成式,可以以非常簡(jiǎn)潔的代碼生成 list。

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

復(fù)雜表達(dá)式 (TODO)

使用for循環(huán)的迭代不僅可以迭代普通的list,還可以迭代dict。

假設(shè)有如下的dict:

d = { 'Adam': 95, 'Lisa': 85, 'Bart': 59 }

完全可以通過一個(gè)復(fù)雜的列表生成式把它變成一個(gè) HTML 表格:

tds = ['<tr><td>%s</td><td>%s</td></tr>' % (name, score) for name, score in d.iteritems()]
print '<table>'
print '<tr><th>Name</th><th>Score</th><tr>'
print '\n'.join(tds)
print '</table>'

注:字符串可以通過 % 進(jìn)行格式化,用指定的參數(shù)替代 %s。字符串的join()方法可以把一個(gè) list 拼接成一個(gè)字符串。

把打印出來的結(jié)果保存為一個(gè)html文件,就可以在瀏覽器中看到效果了:

<table border="1">
<tr><th>Name</th><th>Score</th><tr>
<tr><td>Lisa</td><td>85</td></tr>
<tr><td>Adam</td><td>95</td></tr>
<tr><td>Bart</td><td>59</td></tr>
</table>

條件過濾

列表生成式的 for 循環(huán)后面還可以加上 if 判斷。例如:

>>> [x * x for x in range(1, 11)]
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

如果我們只想要偶數(shù)的平方,不改動(dòng) range()的情況下,可以加上 if 來篩選:

>>> [x * x for x in range(1, 11) if x % 2 == 0]
[4, 16, 36, 64, 100]

有了 if 條件,只有 if 判斷為 True 的時(shí)候,才把循環(huán)的當(dāng)前元素添加到列表中。

多層表達(dá)式

for循環(huán)可以嵌套,因此,在列表生成式中,也可以用多層 for 循環(huán)來生成列表。
對(duì)于字符串 'ABC' 和 '123',可以使用兩層循環(huán),生成全排列:

>>> [m + n for m in 'ABC' for n in '123']
['A1', 'A2', 'A3', 'B1', 'B2', 'B3', 'C1', 'C2', 'C3']

翻譯成循環(huán)代碼就像下面這樣:

L = []
for m in 'ABC':
for n in '123':
L.append(m + n)

結(jié)語

以上就是python開發(fā)入門——列表生成式的詳細(xì)內(nèi)容,更多關(guān)于python 列表生成式的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • python的unittest測(cè)試類代碼實(shí)例

    python的unittest測(cè)試類代碼實(shí)例

    這篇文章主要介紹了python的unittest測(cè)試類代碼實(shí)例,具有一定參考價(jià)值,需要的朋友可以了解下。
    2017-12-12
  • Python爬蟲實(shí)現(xiàn)(偽)球迷速成

    Python爬蟲實(shí)現(xiàn)(偽)球迷速成

    還有4天就世界杯了,作為一個(gè)資深(偽)球迷,必須要實(shí)時(shí)關(guān)注世界杯相關(guān)新聞,了解各個(gè)球隊(duì)動(dòng)態(tài),下面小編給大家?guī)砹薖ython爬蟲實(shí)現(xiàn)(偽)球迷速成功能,一起看看吧
    2018-06-06
  • 使用systemd部署服務(wù)的過程解析

    使用systemd部署服務(wù)的過程解析

    這篇文章主要介紹了使用systemd部署服務(wù)的過程解析,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-06-06
  • python PIL和CV對(duì) 圖片的讀取,顯示,裁剪,保存實(shí)現(xiàn)方法

    python PIL和CV對(duì) 圖片的讀取,顯示,裁剪,保存實(shí)現(xiàn)方法

    今天小編就為大家分享一篇python PIL和CV對(duì) 圖片的讀取,顯示,裁剪,保存實(shí)現(xiàn)方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2019-08-08
  • Python中tell()方法的使用詳解

    Python中tell()方法的使用詳解

    這篇文章主要介紹了Python中tell()方法的使用詳解,是Python入門學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下
    2015-05-05
  • 爬蟲框架 Feapder 和 Scrapy 的對(duì)比分析

    爬蟲框架 Feapder 和 Scrapy 的對(duì)比分析

    本篇文章在源碼層面比對(duì) feapder、scrapy 、scrapy-redis 的設(shè)計(jì),閱讀本文后,會(huì)加深您對(duì) scrapy 以及 feapder 的了解,以及為什么推薦使用 feapder,剛興趣的朋友可以參考下面文章內(nèi)容
    2021-09-09
  • Scrapy框架中的Pipeline使用詳解

    Scrapy框架中的Pipeline使用詳解

    這篇文章主要介紹了Scrapy框架中的Pipeline使用詳解,Scrapy 中的 Pipeline 為我們提供了處理數(shù)據(jù)的功能,在實(shí)際開發(fā)中我們經(jīng)常使用它來清洗/驗(yàn)證數(shù)據(jù)、去重和數(shù)據(jù)保存,需要的朋友可以參考下
    2023-10-10
  • Python實(shí)現(xiàn)滑動(dòng)平均(Moving Average)的例子

    Python實(shí)現(xiàn)滑動(dòng)平均(Moving Average)的例子

    今天小編就為大家分享一篇Python實(shí)現(xiàn)滑動(dòng)平均(Moving Average)的例子,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2019-08-08
  • Python實(shí)現(xiàn)批量提取Word中的表格

    Python實(shí)現(xiàn)批量提取Word中的表格

    表格在word文檔中常見的文檔元素之一,操作word文件時(shí)有時(shí)需要提取文件中多個(gè)表格的內(nèi)容到一個(gè)新的文件,本文給大家分享兩種批量提取文檔中表格的兩種方法,希望對(duì)大家有所幫助
    2024-02-02
  • python使用cartopy在地圖中添加經(jīng)緯線的示例代碼

    python使用cartopy在地圖中添加經(jīng)緯線的示例代碼

    gridlines可以根據(jù)坐標(biāo)系,自動(dòng)繪制網(wǎng)格線,這對(duì)于普通繪圖來說顯然不必單獨(dú)拿出來說說,但在地圖中,經(jīng)緯線幾乎是必不可少的,本文將給大家介紹了python使用cartopy在地圖中添加經(jīng)緯線的方法,需要的朋友可以參考下
    2024-01-01

最新評(píng)論