Python中仅含字符串的元组调用sum()报int与str相加错误的原因
元组字符串求和报错的原因
先看你写的代码:
t = ("j","h","w","j") print(sum(t))
运行后触发的错误:
TypeError: unsupported operand type(s) for +: 'int' and 'str'
为什么报错里会提到int类型?
Python内置的sum()函数默认会用0(整数类型)作为累加的初始值,它的执行逻辑是:从初始值开始,把可迭代对象里的每个元素依次和当前累计值相加。
你传入的元组全是字符串,sum()第一步就会尝试计算0 + "j"——整数和字符串没法做加法运算,自然就抛出了这个类型错误,所以报错信息里会同时提到int和str两种类型。
正确拼接字符串的方式
如果要把元组里的字符串拼接起来,别用sum(),改用''.join()方法:
t = ("j","h","w","j") print(''.join(t)) # 输出结果:jhwj
内容的提问来源于stack exchange,提问作者Dinux
相关产品推荐
相关产品推荐

