溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

python中列表推導式指的是什么?

發布時間:2020-08-03 10:28:30 來源:億速云 閱讀:148 作者:清晨 欄目:編程語言

不懂python中列表推導式指的是什么??其實想解決這個問題也不難,下面讓小編帶著大家一起學習怎么去解決,希望大家閱讀完這篇文章后大所收獲。

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

數字列表的推導式

回顧之前學過的知識,我們可以創建一個包含前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)

感謝你能夠認真閱讀完這篇文章,希望小編分享python中列表推導式指的是什么?內容對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,遇到問題就找億速云,詳細的解決方法等著你來學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女