Python の Zip 関数を理解する: 謎を解く
同じ長さの複数のリストを扱うとき、それらを 1 つに結合しようとすることがよくあります。データセット。ここで Python の zip 関数が威力を発揮します。ただし、期待される結果について誤解がある場合、よくある落とし穴が発生します。
これを説明するために、それぞれ 20 個の要素を含む 3 つのリスト x1、x2、および x3 が作成されるシナリオを考えてみましょう。 zip(x1, x2, x3) を呼び出すと、3 つの要素のリストが予想されるかもしれません。ただし、実際に取得されるのは 20 個の 3 タプルのリストです。
混乱していますか?心配しないでください。根本的な理由は単純です。 zip は、入力リスト内の対応するインデックスの要素を結合することによって動作します。この場合、20 個のタプルが作成されます。各タプルは、x1 の 1 つの要素、x2 の 1 つ、x3 の 1 つの要素で構成されます。この誤解は、zip がタプルのリストではなくリストのリストを生成するという仮定から生じています。
これを実証するには:
a = b = c = range(20) result = zip(a, b, c) print(result) # Output: [(0, 0, 0), (1, 1, 1), ... (19, 19, 19)] print(len(result)) # Output: 20 print(len(result[0])) # Output: 3
上で見たように、結果には 20 個の 3 タプルが含まれています。それぞれに 3 つの要素が含まれます。各タプルの要素の数を決定するには、最初のタプルの長さを調べます。
以上がPython の Zip 関数は実際に複数のリストでどのように機能するのでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。