1. ホーム
  2. python

[解決済み] python: 'str' と 'tuple' オブジェクトの連結ができない (うまくいくはず!)

2022-02-07 01:20:26

質問

コードがあります。

print "bug " + data[str.find(data,'%')+2:-1]
temp = data[str.find(data,'%')+2:-1]
time.sleep(1)
print "bug tuple " + tuple(temp.split(', '))

そして、この後、私のアプリケーションが表示されます。

バグ1、2、3 トレースバック (最も最近の call last)を呼び出します。 ファイル "C:\Python26﹑Lib﹑site-packagesⒸPythonwin﹑frameworkscriptutils.py", 行 312, in RunScript でcodeObjectを実行します。 メイン . ディクショナリー ファイル "C: \Documents and Settingsk.pawlowski ◇Desktop ◇server.py", 行 165, in print "バグタプル " + tuple(temp.split(', ')) TypeErrorです。 str' と 'tuple' を連結することはできません。 オブジェクト

何を間違えて作っているのかわからない。 print tuple('1, 2, 3'.split(', ')) は正常に動作しています。

どのように解決するのですか?

print tuple(something)

は、print が引数に対して暗黙の str() を実行するため、動作するかもしれませんが

"" + ()

は動作しません。個別に印刷できることに違いはなく、文字列とタプルを連結することはできないので、どちらかを変換する必要があります。すなわち

print "foo" + str(tuple("bar"))

しかし、str()に依存して変換しても、おそらく期待する結果は得られないでしょう。例えば、",".join を使って、セパレータできれいに結合してください。