一、定義
列表生成式即List Comprehensions础嫡,是Python內(nèi)置的非常簡(jiǎn)單卻強(qiáng)大的可以用來(lái)創(chuàng)建list的生成式。
二、用法
現(xiàn)在我們先生成一個(gè)list:
In [2]: list(range(0,10))
Out[2]: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
假如我們想把list的每項(xiàng)都乘以2座柱,該如何做呢,你可能這樣寫(xiě)
In [5]: L = list(range(0,10))
In [6]: N = []
In [7]: for i in L:
...: N.append(i*2)
...:
In [8]: N
Out[8]: [0, 2, 4, 6, 8, 10, 12, 14, 16, 18]
這時(shí)候生成式就派上用場(chǎng)了物舒,他可以讓你的功能只需一行代碼就可以實(shí)現(xiàn)
[x*2 for x in L]
Out[10]: [0, 2, 4, 6, 8, 10, 12, 14, 16, 18]
我們注意的是色洞,生成式是在[] 內(nèi) 對(duì)循環(huán)的每個(gè)list成員進(jìn)行再處理
把再處理的行為放在 for 前面即可
最后把一個(gè)list中所有的字符串變成小寫(xiě):
In [11]: L = ['Hello', 'World', 'IBM', 'Apple']
In [12]: [s.lower() for s in L]
Out[12]: ['hello', 'world', 'ibm', 'apple']
只要遵守這個(gè)用法,生成式可以幫助我們做很多很多事情冠胯,在以后的實(shí)戰(zhàn)項(xiàng)目中火诸,你會(huì)對(duì)他慢慢熟悉