高度な機能
2517 ワード
list(range(1, 11))
>>> [x * x for x in range(1, 11)]
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
リスト生成式を書くときは、生成する要素x*xを前に置いて、後にforループを付けると、listを作成してforループを作成することができます.後にif判断を加えることができます.これにより、偶数のみの平方をフィルタできます.
>>> [x * x for x in range(1, 11) if x % 2 == 0]
[4, 16, 36, 64, 100]
>>> L = [x * x for x in range(10)]
>>> L
[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
>>> g = (x * x for x in range(10))
>>> g
at 0x1022ef630>
反復2を使用できます.関数定義にyieldキーワードが含まれている場合、この関数は通常の関数ではなくgeneratorです.