Python高階特性 列表生成式

2022-02-09 17:29:44 字數 990 閱讀 2514

列表生成式即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個...