您好,登錄后才能下訂單哦!
這篇文章主要介紹了怎樣避開for循環在python3代碼中創建列表,具有一定借鑒價值,需要的朋友可以參考下。希望大家閱讀完這篇文章后大有收獲。下面讓小編帶著大家一起了解一下。
先看下面的代碼:
data = [x**2 for x in range(0, 5)] # 此時data = [0, 1, 4, 9, 16]
如果不知道背后的語法規則,那么很難理解為什么可以在列表的方括號中寫一個“for”循環?實際上,這種語法稱為列表推導式,和lambda表達式類似,都是在代碼很短的情況下被使用。
列表推導式或者說列表解析式是一種非常簡潔的創建列表的方式。很多時候我們需要創建一個滿足特定要求的新列表,不得不用for循環來創建,而用列表推導式來表達只需要一行代碼即可。列表推導式另一個優點是相比于for循環更高效,因為列表推導式在執行時調用的是Python的底層C代碼,而for循環則是用Python代碼來執行。
比如我們需要創建一個包含平方數的列表,用for循環實現方式如下:
squares = [] for i in range(10): squares.append(i**2) print(squares)
如果用列表推導式的話只需一行代碼即可實現:
squares = [i**2 for i in range(10)]
列表推導式的語法結構可以分為幾部分:
0. “[]”,定義列表的中括號。
1. for循環初步定義列表。
2. 可選:在for循環后面可以使用if語句進行過濾。
3. 在for循環前定于列表的元素表達式,可以是任意的表達式。可以是for循環中的元素本身,也可以是元素進行運算后的結果,也可以是元素組成的元祖或者列表,可以是一個函數,甚至可以是另一個列表解析式(嵌套列表解析式)。
4. 可選:在for循環后面可以再嵌套for循環。
感謝你能夠認真閱讀完這篇文章,希望小編分享怎樣避開for循環在python3代碼中創建列表內容對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,遇到問題就找億速云,詳細的解決方法等著你來學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。