ホームページ >バックエンド開発 >Python チュートリアル >Python ではなぜ 1 要素タプルの末尾にカンマが必要なのでしょうか?

Python ではなぜ 1 要素タプルの末尾にカンマが必要なのでしょうか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-12-15 15:38:13970ブラウズ

Why Does Python Require a Trailing Comma for One-Element Tuples?

1 要素のタプル: カンマの難問

タプルを扱うとき、要素が 1 つだけあるタプルを作成しようとすると、よくある誤解が生じます。 。このような場合、文字列を括弧で囲めば十分だと思われるかもしれませんが、そうではありません。

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

a = [('a'), ('b'), ('c', 'd')]

驚くべきことに、これらの要素では、文字列と文字列が混在しています。タプル:

['a', 'b', ('c', 'd')]
<type 'str'>    
<type 'str'>    
<type 'tuple'>

なぜこれが起こるのでしょうか?最初の 2 つの要素が文字列として解釈されるのはなぜですか?

その答えはタプルの構文にあります。単一の要素を持つタプルを作成するには、タプルであることを示す値の後にコンマを含める必要があります。

type(('a'))
<type 'str'>

type(('a',))
<type 'tuple'>

コード例を修正するには、最初の 2 つの要素にコンマを追加するだけです。

a = [('a',), ('b',), ('c', 'd')]

この構文は、リスト内のすべての要素がtuple.

あるいは、末尾のカンマ構文が魅力的ではない場合は、引数としてリストを受け取り、タプルを返す tuple() 関数を使用することもできます。

x = tuple(['a'])

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

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