列表生成式即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
]
高階:要生成[1x1, 2x2, 3x3, ..., 10x10]
怎麼做?
>>>l = [x * x for x in range(1, 11)]>>>l
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
高階:for迴圈中加if
>>> [x * x for x in range(1, 11) if x % 2 == 0][4, 16, 36, 64, 100]
高階:兩個for迴圈生成list
>>> [m + n for m in'abc
'for n in
'xyz']
['ax', '
ay', '
az', '
bx', '
by', '
bz', '
cx', '
cy', '
cz']
舉例:
把乙個list中所有的字串變成小寫:>>> l = ['
hello
', '
world
', '
ibm', '']
>>> [s.lower() for s inl][
'hello
', '
world
', '
ibm', '
']
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,...
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高階特性 切片 迭代 列表生成式
1行 能實現的功能,決不寫5行 請始終牢記,越少,開發效率越高。取list前三個數 list a b c d ans for i in range 0,3 print ans print list 0 3 l 0 3 表示,從索引0開始取,直到索引3為止,但不包括索引3。即索引0,1,2,正好是3個...