(1)生成表达式
print range(1,11)
#[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
print [x * x for x in range(1,11)]
#[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
#条件过滤
print [x * x for x in range(1, 11) if x % 2 == 0]
#[4, 16, 36, 64, 100]
(2)复杂表达式
- % (name, score)中参数会替换前面%s
d = { 'Adam': 95, 'Lisa': 85, 'Bart': 59 }
str = ['%s=%s' %(name,value) for name,value in d.items()]
# ['Lisa=85', 'Adam=95', 'Bart=59']
(3)多层嵌套表达式
>>> [m + n for m in 'ABC' for n in '123']
['A1', 'A2', 'A3', 'B1', 'B2', 'B3', 'C1', 'C2', 'C3']
print [g+b*10+q*100 for g in range(1,10) for b in range(0,10) for q in range(1,10) if g == q]
网友评论