You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python中使用*args处理字符串列表时遇TypeError问题求助

问题原因

你的代码报错是因为sum初始设成了整数0,但传入的参数都是字符串类型,Python不允许整数和字符串直接做+=运算,所以触发了TypeError。

两种解决方案

1. 转成整数求和

如果是要计算这些数字字符串的数值总和,在循环里把每个字符串转成整数就行:

def add(*args):
    sum = 0
    for i in args:
        sum += int(i)
    return sum
print(add("1", "2", "3", "4"))  # 输出 10

嫌循环麻烦的话,也可以用一行代码简化:

def add(*args):
    return sum(int(i) for i in args)

2. 直接拼接字符串

如果是要把这些字符串连起来,把sum的初始值改成空字符串即可:

def add(*args):
    sum = ""
    for i in args:
        sum += i
    return sum
print(add("1", "2", "3", "4"))  # 输出 "1234"

同样可以简化成更Pythonic的写法:

def add(*args):
    return "".join(args)

内容的提问来源于stack exchange,提问作者zirklja

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.18 05:52:01