1. 程式人生 > >Python 列表推導 & 生成器表示式

Python 列表推導 & 生成器表示式

Python 列表推導 & 生成器表示式

推薦使用:因為列表推導 & 生成器表示式 ”更具可讀性”《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)