如果要生成[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 但如果要生成...