リスト内包表記、つまりリスト内包表記は非常に単純ですが、リストの作成に使用できるPythonの強力な組み込み内包表記です。
たとえば、リスト[1、2、3、4、5、6、7、8、9、10]を生成するには、list(range(1、11))を使用できます。
list(range(1,11))[1,2,3,4,5,6,7,8,9,10]
ただし、[1、4、9、16、25、36、49、64、81、100]を生成する場合
どうやるか? 1つの方法はループすることですが、ループは煩雑であり、リストの生成ではループの代わりにlineステートメントを使用して上記のリストを生成できます。
[ x * x for x inrange(1,11)][1,4,9,16,25,36,49,64,81,100]
リスト制作を書くときは、生成する要素を入れてくださいx*xを前に置き、その後にforループを置くと、リストを作成できます
forループの後にif判定を追加できるため、正方形のみを除外できます。
[ x * x for x inrange(1,11)if x %2==0][4,16,36,64,100]
2レベルのループを使用して、完全な配置を生成することもできます。
[ m + n for m in'ABC'for n in'XYZ']['AX','AY','AZ','BX','BY','BZ','CX','CY','CZ']
リスト生成では、2つの変数を使用してリストを生成することもできます。
d ={'x':'A','y':'B','z':'C',}[k +'='+ v for k, v in d.items()]['y=B','x=A','z=C']
Recommended Posts