高度な機能

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]
  • ジェネレータはgeneratorを作成し、最初の方法はリスト生成式の[]を()に変更し、generator
  • を作成した.
    >>> 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です.