推荐使用:因为列表推导 & 生成器表达式 ”更具可读性”《Fluent Python》中推荐使用,
str = 'abc'
codes = []
for s in str:
codes.append(s)
# 列表推导:是不是更具可读性?
codes = [s for s in str]
使用的原则:只用列表推导来创建新的列表,并且尽量保持简短,最好不超过两行。
列表推导:构建列表的快捷方式;生成器表达式:创建其他任何类型的序列。
语法区别:前者是方括号 “[ ]”,后者是圆括号 ”( )”
colors = ['blank', 'white']
sizes = ['S', 'M', 'L']
# 列表推导
tshirt = [(color, size) for color in colors for size in sizes]
type(tshirt) # list 对象
# 生成器表达式
tshirt = ('%s %s' % (c, s) for c in colors for s in sizes)
type(tshirt) # 生成器(Generators)