Pythonリスト導出&ジェネレータ式

3132 ワード

Pythonリスト導出&ジェネレータ式
推奨使用:リスト導出&ジェネレータ式がより読みやすいため」「Fluent Python」で推奨されています.
str = 'abc'
codes = []
for s in str:
	codes.append(s)

#     :        ?
codes = [s for s in str]

使用する原則:リストの導出だけで新しいリストを作成し、できるだけ短くして、2行を超えないほうがいいです.
リストの導出:リストを構築するショートカット;≪ジェネレータ式|Generator Expression|emdw≫:他の任意のタイプのシーケンスを作成します.
文法の違い:前者は角カッコ[],後者は丸カッコ()
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)