国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術文章
文章詳情頁

什么是python的列表推導式

瀏覽:3日期:2022-07-24 14:11:22

乍一看到列表推導式你可能會感到疑惑。它們是一種創建和使用列表的簡潔方式。理解列表推導式是有用的,因為你可能在其他人的代碼里看到列表推導式。下面來了解下列表推導式吧。

數字列表的推導式

回顧之前學過的知識,我們可以創建一個包含前10個數字的列表,如下所示:

squares = []for number in range(1,11): new_square = number**2 squares.append(new_square)for square in squares: print(square)

上述代碼中我們實現了創建包含10個數字的列表,對每個數字作平方操作并將它們存儲進新的數組的功能。代碼略顯冗長,我們可以省略 for 循環中的 new_square 參數,簡化代碼。使用列表推導式就可以進一步簡化代碼,如下所示:

squares = [number**2 for number in range(1,11)]for square in squares: print(square)

平方操作和生成新列表的過程都濃縮進了一行代碼。你是不是已經暈頭轉向了,讓我們來看看這行代碼發生了什么。

首先我們定義了一個列表,名字為 squares 。

接下來看看列表中括號中的代碼:

for number in range(1, 11)

它在1-10之間創建一個循環,把每個數字存儲到變量 number 中。接下來我們看一看對每次循環中的 number 作了哪些操作。

number**2

每個 number 都作了平方操作,并將結果存儲在了定義好的隊列中。我們可以用如下語言來閱讀這行代碼:

squares = [raise number to the second power, for each number in the range 1-10]

其他例子

上個例子是對數字作平方操作,下列代碼是對數字作乘操作,仔細閱讀代碼,體會數字列表表達式的用法。

# 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)

非數字列表的推導式

我們也可以在非數字列表中運用推導式。在下面的例子中,我們會創建一個非數字列表,然后利用推導式生成一個新的列表。不運用推導式的源代碼如下所示:

# 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)

我們想寫下如下所示的推導式:

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)

擴展練習:

生成一個[[1,2,3],[4,5,6]....]的列表最大值在100以內

首先考慮一下正常情況我們應該怎么寫

a = []for x in range(1,100,3): a.append([x,x+1,x+2])

然后再把它轉換成列表推導式

a = [[x,x+1,x+2] for x in range(1,100,3)]

以上就是什么是python的列表推導式的詳細內容,更多關于python列表推導式的含義及用法的資料請關注好吧啦網其它相關文章!

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 兴义市| 崇仁县| 平湖市| 镇宁| 五台县| 温州市| 黑龙江省| 哈密市| 宁乡县| 新巴尔虎左旗| 昂仁县| 扎鲁特旗| 确山县| 井研县| 广元市| 蚌埠市| 上栗县| 邹城市| 道孚县| 阳新县| 常熟市| 哈密市| 哈尔滨市| 通化县| 镇宁| 娄烦县| 蕉岭县| 于都县| 定州市| 阳曲县| 孟津县| 曲阳县| 临猗县| 同江市| 漠河县| 米脂县| 黎平县| 临沭县| 天祝| 来宾市| 密山市|