python:无法连接'str'和'tuple'对象(它应该可以工作!)

时间:2010-08-31 13:51:17

标签: python string tuples

我有一个代码:

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   追溯(最近的   最后打电话):文件   “C:\ Python26 \ LIB \站点包\ PythonWin的\ pywin \框架\ scriptutils.py”   第三行,在RunScript中       exec codeObject在 main dict 文件“C:\ Documents and   设置\ k.pawlowski \桌面\ atsserver.py”   第165行,in       print“bug tuple”+ tuple(temp.split(','))TypeError:   无法连接'str'和'tuple'   对象

我不知道我做错了什么。 print元组('1,2,3'.split(','))正常工作。

5 个答案:

答案 0 :(得分:16)

print tuple(something)

可能有效,因为print会对参数执行隐式str(),但表达式如

"" + ()

不起作用。你可以单独打印它们的事实并没有什么区别,你不能连接一个字符串和一个元组,你必须转换它们中的任何一个。即。

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

但是,根据str()进行转换可能不会产生预期的结果。使用“,”加入例如

,使用分隔符整齐地加入它们

答案 1 :(得分:3)

为什么你认为它应该有效?

尝试:

print "bug tuple " + str(tuple(temp.split(', ')))

答案 2 :(得分:2)

将其更改为

print "bug tuple ", tuple(temp.split(', '))

答案 3 :(得分:0)

为什么通过拆分进行元组排序,除了括号外,你有一个字符串准备就绪,为什么不呢:

print "bug tuple (%s)" % '1, 2, 3'

答案 4 :(得分:0)

无需tuple(),以下作品,

outstr = str((w,t)) # (w,t) is my tuple