(1)列表推导会产生一个新的列表对象。

>>>L = [1,2,3,4,5]
>>>L = [x+6 for x in L]
>>>L
[7,8,9,10,11]

(2)列表推导比手动for循环语句运行更快,因为它们的迭代在解释器内部是以C语言的速度执行的。

(3)在文件上使用列表推导

>>>lines = [line.rstrip() for line in open('albus.py')]

(4)扩展的列表推导语法--加上筛选分句if

>>>lines = [line.rstrip() for line in open('albus.py') if line[0] == 'a']

(注:上面的if分句会检查文件中的每一行的第一个字符是否为a,若不是,则将该语句从列表中去除)

(5)扩展的列表推导语法--加上嵌套循环for

>>>[x + y for x in '123' for y in '456']
['14','15','16','24','25','26','34','35','36']

列表推导仍应做到简单易懂,而非晦涩难懂。

posted on 2021-01-14 22:51  albus_y  阅读(86)  评论(0)    收藏  举报