什么是python的列表推導(dǎo)式
乍一看到列表推導(dǎo)式你可能會(huì)感到疑惑。它們是一種創(chuàng)建和使用列表的簡(jiǎn)潔方式。理解列表推導(dǎo)式是有用的,因?yàn)槟憧赡茉谄渌说拇a里看到列表推導(dǎo)式。下面來了解下列表推導(dǎo)式吧。
數(shù)字列表的推導(dǎo)式
回顧之前學(xué)過的知識(shí),我們可以創(chuàng)建一個(gè)包含前10個(gè)數(shù)字的列表,如下所示:
squares = [] for number in range(1,11): new_square = number**2 squares.append(new_square) for square in squares: print(square)
上述代碼中我們實(shí)現(xiàn)了創(chuàng)建包含10個(gè)數(shù)字的列表,對(duì)每個(gè)數(shù)字作平方操作并將它們存儲(chǔ)進(jìn)新的數(shù)組的功能。代碼略顯冗長(zhǎng),我們可以省略 for 循環(huán)中的 new_square 參數(shù),簡(jiǎn)化代碼。使用列表推導(dǎo)式就可以進(jìn)一步簡(jiǎn)化代碼,如下所示:
squares = [number**2 for number in range(1,11)] for square in squares: print(square)
平方操作和生成新列表的過程都濃縮進(jìn)了一行代碼。你是不是已經(jīng)暈頭轉(zhuǎn)向了,讓我們來看看這行代碼發(fā)生了什么。
首先我們定義了一個(gè)列表,名字為 squares 。
接下來看看列表中括號(hào)中的代碼:
for number in range(1, 11)
它在1-10之間創(chuàng)建一個(gè)循環(huán),把每個(gè)數(shù)字存儲(chǔ)到變量 number 中。接下來我們看一看對(duì)每次循環(huán)中的 number 作了哪些操作。
number**2
每個(gè) number 都作了平方操作,并將結(jié)果存儲(chǔ)在了定義好的隊(duì)列中。我們可以用如下語言來閱讀這行代碼:
squares = [raise number to the second power, for each number in the range 1-10]
其他例子
上個(gè)例子是對(duì)數(shù)字作平方操作,下列代碼是對(duì)數(shù)字作乘操作,仔細(xì)閱讀代碼,體會(huì)數(shù)字列表表達(dá)式的用法。
# Make an empty list that will hold the even numbers. evens = [] # Loop through the numbers 1-10, double each one, and add it to our list. for number in range(1,11): evens.append(number*2) # Show that our list is correct: for even in evens: print(even)
非數(shù)字列表的推導(dǎo)式
我們也可以在非數(shù)字列表中運(yùn)用推導(dǎo)式。在下面的例子中,我們會(huì)創(chuàng)建一個(gè)非數(shù)字列表,然后利用推導(dǎo)式生成一個(gè)新的列表。不運(yùn)用推導(dǎo)式的源代碼如下所示:
# Consider some students.
students = ['bernice', 'aaron', 'cody']
# Let's turn them into great students.
great_students = []
for student in students:
great_students.append(student.title() + " the great!")
# Let's greet each great student.
for great_student in great_students:
print("Hello, " + great_student)
我們想寫下如下所示的推導(dǎo)式:
great_students = [add 'the great' to each student, for each student in the list of students]
代碼如下所示:
# Consider some students.
students = ['bernice', 'aaron', 'cody']
# Let's turn them into great students.
great_students = [student.title() + " the great!" for student in students]
# Let's greet each great student.
for great_student in great_students:
print("Hello, " + great_student)
擴(kuò)展練習(xí):
生成一個(gè)[[1,2,3],[4,5,6]....]的列表最大值在100以內(nèi)
首先考慮一下正常情況我們應(yīng)該怎么寫
a = [] for x in range(1,100,3): a.append([x,x+1,x+2])
然后再把它轉(zhuǎn)換成列表推導(dǎo)式
a = [[x,x+1,x+2] for x in range(1,100,3)]
以上就是什么是python的列表推導(dǎo)式的詳細(xì)內(nèi)容,更多關(guān)于python列表推導(dǎo)式的含義及用法的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
- Python之列表推導(dǎo)式最全匯總(上篇)
- Python之列表推導(dǎo)式最全匯總(中篇)
- python中列表推導(dǎo)式與生成器表達(dá)式對(duì)比詳解
- Python列表推導(dǎo)式,元組推導(dǎo)式,字典推導(dǎo)式,集合推導(dǎo)式
- Python的列表推導(dǎo)式你了解嗎
- python列表推導(dǎo)式的原理及使用方法
- python列表推導(dǎo)式實(shí)現(xiàn)找出列表中長(zhǎng)度大于5的名字
- Python 列表推導(dǎo)式與字典推導(dǎo)式的實(shí)現(xiàn)
- Python列表推導(dǎo)式詳情
- python列表推導(dǎo)式 經(jīng)典代碼
- Python 列表推導(dǎo)式需要注意的地方
- Python列表推導(dǎo)式實(shí)現(xiàn)代碼實(shí)例
- python列表推導(dǎo)式入門學(xué)習(xí)解析
- python之列表推導(dǎo)式的用法
- python列表推導(dǎo)式操作解析
- python 列表推導(dǎo)式使用詳解
- 簡(jiǎn)單了解python 生成器 列表推導(dǎo)式 生成器表達(dá)式
- Python之列表推導(dǎo)式最全匯總(下篇)
相關(guān)文章
python高級(jí)內(nèi)置函數(shù)用法實(shí)例
在本篇文章里小編給大家整理的是一篇關(guān)于python高級(jí)內(nèi)置函數(shù)用法實(shí)例內(nèi)容,有興趣的朋友們可以學(xué)參考下。2021-09-09
python獲取100以內(nèi)的質(zhì)數(shù)3種方式總結(jié)
質(zhì)數(shù)也稱為質(zhì)數(shù),具有無限個(gè),質(zhì)數(shù)定義為大于1的自然數(shù),除了1和它本省外沒有其他因數(shù)的數(shù)稱為質(zhì)數(shù),這篇文章主要給大家介紹了關(guān)于python獲取100以內(nèi)質(zhì)數(shù)的3種方式,需要的朋友可以參考下2024-08-08
python中文件導(dǎo)入的使用(在同一目錄下和在不同目錄下)
在Python中,使用pathlib模塊的Path類可以方便地導(dǎo)入不同目錄下的文件,本文就來介紹一下,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2024-12-12
python3?flask使用連接池連接數(shù)據(jù)庫實(shí)例
這篇文章主要為大家介紹了python3?flask使用連接池連接數(shù)據(jù)庫實(shí)例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-08-08
Django查找網(wǎng)站項(xiàng)目根目錄和對(duì)正則表達(dá)式的支持
這篇文章主要介紹了Django查找網(wǎng)站項(xiàng)目根目錄和對(duì)正則表達(dá)式的支持,僅供參考,需要的朋友可以參考下2015-07-07

