列表解析:用简洁紧凑的方式来构造列表。至少包括两个部分
[expression **for**-clause condition]
例如得到0~20的偶数,按照构造的语句
>>>[i for i in range(20) if i%2 == 0]
[0,2,4,6,8,10,12,14,16,18]
还可以用于字符串
>>>word = "I love u"
>>>letter = "u"
>>>w for w in word if w in letter
还可以用复杂的条件来得到列表,例如生成数字对,且数字对是有条件限制
>>>[(x,y) for x in range(3) for y in range(4) if x>y]
[(1,0),(2,0),(2,1)]
还能用于转换,例如对于包含数字和字母的字符串,希望只得到列表
>>>somestring = "abc123"
>>>[int(c) for c in somestring if c.isdigit()]
[1,2,3]
源于 the Practice of Computing Using Python