タプルをフォーマットしようとすると、「TypeError: 文字列フォーマット中にすべての引数が変換されませんでした」というエラーが表示されるのはなぜですか? 質問する

タプルをフォーマットしようとすると、「TypeError: 文字列フォーマット中にすべての引数が変換されませんでした」というエラーが表示されるのはなぜですか? 質問する

%タプルを印刷するために、 -style 文字列フォーマットを使用したいと思います。

tup = (1,2,3)
print("this is a tuple: %s." % (tup))

のように印刷されるはずですThis is a tuple: (1,2,3).が、代わりに というエラーが表示されますTypeError: not all arguments converted during string formatting

何が問題なのでしょうか、どうすれば修正できるのでしょうか?


この質問をわかりやすく現代風に編集する際に、元の例の興味深い点を1つ残しました。それは、 を囲む括弧tupです。これらは必要はありません構文については%、またタプルを作成しないOPはタプルのラッピング(ここでの回答で説明されている)が必要であることを理解していたが、単に間違っていた可能性があります。この問題の詳細については、要素が 1 つだけの「シングルトン」タプルを作成する方法

ベストアンサー1

>>> thetuple = (1, 2, 3)
>>> print("this is a tuple: %s" % (thetuple,))
this is a tuple: (1, 2, 3)

(thetuple,)ここで重要なのは、関心のあるタプルを唯一の項目、つまりパーツとして持つシングルトン タプルを作成することです。

おすすめ記事