您將如何解釋 Python for 迴圈轉換為列表解析?


列表解析提供了一種簡潔的方法來基於現有列表建立列表。當使用列表解析時,可以透過利用任何可迭代物件(包括字串和元組)來構建列表。列表解析包括一個可迭代物件,其中包含一個表示式,後跟一個 for 子句。後面可以跟額外的 for 或 if 子句。

我們來看一個基於字串建立列表的示例

hello_letters = [letter for letter in 'hello']
print(hello_letters)

這將給出輸出

['h', 'e', 'l', 'l', 'o']

字串 hello 是可迭代物件,並且每次迴圈迭代時都會為字母分配一個新值。此列表解析等效於

hello_letters = []
for letter in 'hello':
   hello_letters.append(letter)

您還可以在解析中設定條件。例如,

hello_letters = [letter for letter in 'hello' if letter != 'l']
print(hello_letters)

這將給出輸出

['h', 'e', 'o']

您可以在變數上執行各種操作。例如,

squares = [i ** 2 for i in range(1, 6)]
print(squares)

這將給出輸出

[1, 4, 9, 16, 25]

這些解析還有很多其他用例。它們非常富有表現力且有用。您可以在 https://www.digitalocean.com/community/tutorials/understanding-list-comprehensions-in-python-3. 上了解更多相關資訊。

更新於: 17-6-2020

124 次瀏覽

開始你的 職業生涯

透過完成本課程獲得認證

開始學習
廣告
© . All rights reserved.