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)
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/3137/viewspace-2837502/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- python——列表推導式Python
- Python推導式(列表推導式、元組推導式、字典推導式和集合推導式)Python
- Python的列表推導式Python
- Python筆記-列表推導式Python筆記
- 列表推導式
- python列表切片是什麼Python
- Python的列表是什麼Python
- python 列表推導式與 assert 的結合使用Python
- Python-100 練習題 01 & 列表推導式Python
- Python推導式Python
- python 推導式Python
- HTML列表是什麼?HTML
- Python 字典推導式Python
- 通過示例學習Python列表推導Python
- python學習:陣列之列表推導Python陣列
- python mmap()函式是什麼?Python函式
- Python騷操作從列表推導和生成器表示式開始Python
- Python 列表和元組的區別是什麼?Python
- Python 中的推導式Python
- Python推導式 - 最全用法Python
- 例2.4 使用列表推導式實現巢狀列表的平鋪巢狀
- Python使用雙層列表推導式輸出九九乘法表Python
- python函式過載是什麼?Python函式
- Python3 函式是什麼Python函式
- python--各種推導式Python
- 什麼是Python函式?如何定義函式?Python函式
- python列表有什麼特點Python
- 列表在python有什麼用Python
- 微課|玩轉Python輕鬆過二級(3.1節):列表推導式與切片Python
- Python迭代器生成器,私有變數及列表字典集合推導式(二)Python變數
- 開心檔之python 推導式Python
- python推導式pythonic必備Python
- python列表排序演算法有幾種?分為是什麼?Python排序演算法
- 黑猴子的家:python 函式是什麼?Python函式
- python中upper函式的用法是什麼?Python函式
- Python中eval函式是什麼?如何使用?Python函式
- 什麼是python?python有什麼用途?Python
- 什麼是分散式?分散式