Python入門列表生成式

2021-08-14 14:42:29 字數 750 閱讀 8299

如果要生成[1x1, 2x2, 3x3, …, 10x10]怎麼做?

這個時候可以用到列表生成

[x * x for x in range(1, 11)]

[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

列表生成式的 for 迴圈後面還可以加上 if 判斷。例如:

[x * x for x in range(1, 11)]

[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

如果我們只想要偶數的平方,不改動 range()的情況下,可以加上 if 來篩選:

[x * x for x in range(1, 11) if x % 2 == 0]

[4, 16, 36, 64, 100]

有了 if 條件,只有 if 判斷為 true 的時候,才把迴圈的當前元素新增到列表中。

for迴圈可以巢狀,因此,在列表生成式中,也可以用多層 for 迴圈來生成列表。

對於字串 『abc』 和 『123』,可以使用兩層迴圈,生成全排列:

[m + n for m in

'abc'

for n in

'123']

['a1', 'a2', 'a3', 'b1', 'b2', 'b3', 'c1', 'c2', 'c3']

翻譯成迴圈**就像下面這樣:

Python入門之列表生成式 字典生成式

1.非列表生成式 2.列表生成式 s 51 5000 10000 li int item for item in s.split print li 練習1 輸出 1 1 2 2 9 9 方法一 li for i in range 1,10 print li 方法二 列表生成器 print i i f...

Python 列表生成式

列表生成式即list comprehensions,是python內建的非常簡單卻強大的可以用來建立list的生成式。舉個例子,要生成list 1,2,3,4,5,6,7,8,9,10 可以用list range 1,11 list range 1,11 1,2,3,4,5,6,7,8,9,10 但...

python列表生成式

全都是重點!列表生成式即listcomprehensions,是python內建的非常簡單卻強大的可以用來建立list的生成式。舉個例子,要生成list 1,2,3,4,5,6,7,8,9,10 可以用range 1,11 range 1,11 1,2,3,4,5,6,7,8,9,10 但如果要生成...