列表解析
[expr for iter_var in iterable]
map(lambda x: x ** 2, range(6))
使用列表解析替换:
[x ** 2 for x in range(6)]
[expr for iter_var in iterable if cond_expr]
seq = [11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1]
filter(lambda x: x % 2, seq)
使用列表解析替换:
[x for x in seq if x % 2]
举例:
迭代一个矩阵:
[(x + 1, y + 1) for x in range(3) for y in range(5)]
统计文件中单词个数:
f = open('abc.txt', 'r')
len([word for line in f for word in line.split()])
摘自《Python核心编程》

浙公网安备 33010602011771号