ホームページ >バックエンド開発 >Python チュートリアル >Python にはなぜタプル内包表記がないのでしょうか?

Python にはなぜタプル内包表記がないのでしょうか?

Barbara Streisand
Barbara Streisandオリジナル
2024-11-05 00:35:02586ブラウズ

Why are There No Tuple Comprehensions in Python?

Python で欠落しているタプル内包表記を明らかにする

Python の領域では、リストおよび辞書内包表記が遍在し、反復可能オブジェクトを調整されたリストにシームレスに変換します。そして辞書。興味深いことに、タプルには専用の理解メカニズムが欠けているようで、ユーザーはその不在について疑問を抱いています。

タプルの不変性

最初は、タプルの不変性によって、理解。ただし、文字列など他の不変型は内包表記を喜んで受け入れているため、この理論は不十分です。

歴史的起源

根本的な理由は、Python による歴史的な選択に由来しています。クリエイターたち。ジェネレーター式 (反復子を生成する括弧で囲まれた式) が導入されたとき、別個のタプル理解構文を作成する必要はないと考えられました。括弧はすでにジェネレーターの表記として選択されており、タプルに固有の追加構文を提供すると冗長性が生じます。

救済のためのジェネレーター式

タプル理解構文は障害になりますが、心配する必要はありません。 Python では、かっこを使用してジェネレータ式を作成することで回避策を提供しています。

<code class="python">tuple(i for i in (1, 2, 3))</code>

この式は、必要な要素を含むタプルとして評価されます。

以上がPython にはなぜタプル内包表記がないのでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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