ホームページ >バックエンド開発 >Python チュートリアル >Python でリストを圧縮すると、連結リストではなくタプルのリストが作成されるのはなぜですか?

Python でリストを圧縮すると、連結リストではなくタプルのリストが作成されるのはなぜですか?

DDD
DDDオリジナル
2024-12-18 20:17:11190ブラウズ

Why Does Zipping Lists in Python Result in a List of Tuples, Not a Concatenated List?

Python でのリストの圧縮: サイズの不一致の明確化

複数のリストを一緒に圧縮しようとすると、結果のリストのサイズに関して予期しない動作が発生する可能性があります。この記事では、よくある誤解に対処し、Python で zip() がどのように機能するかを明確に理解します。

最初、サイズ 20 の 3 つのリストを圧縮しようとするプログラムは、サイズ 3 の結果リストを予期する可能性があります。ただし、結果の zipall リストには 20 個の要素が含まれます。この不一致は、zip() がリストを連結しないために発生します。代わりに、タプルのリストが作成されます。各タプルには、元のリストの対応する要素が含まれます。

次の例を考えてみましょう。

a = b = c = range(20)
zipall = zip(a, b, c)

出力 zipall リストには、それぞれ 20 個の要素が含まれます。要素は次の形式のタプルです (a_element, b_element, c_element):

[(0, 0, 0),
 (1, 1, 1),
 ...
 (17, 17, 17),
 (18, 18, 18),
 (19, 19, 19)]

したがって、各タプル内の要素の数を決定するには、次のいずれかの要素の長さを調べることができます。

len(zipall[0])

これは、次の長さを返します。 3、各タプルに 3 つの要素が含まれていることを示します。

元のリストが空の場合、len(zipall) 式は空のリストには圧縮する要素がないため、0 が返されます。

以上がPython でリストを圧縮すると、連結リストではなくタプルのリストが作成されるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。