Python 3.3.0 -- + 不支持的操作数类型:'int' 和 'list'

Python 3.3.0 -- unsupported operand type(s) for +: 'int' and 'list'

这是我的功能

def f(*a,b):
    print (sum(a) , b)

以下调用导致错误

f([x for x in range(100)] , b=0)

Traceback (most recent call last):
  File "<pyshell#61>", line 1, in <module>
    f([x for x in range(100)] , b=0)
  File "<pyshell#59>", line 2, in f
    print (sum(a) , b)
TypeError: unsupported operand type(s) for +: 'int' and 'list'

当我不使用 sum(a) 而只使用 a 时,这工作正常,请告诉我这是怎么回事。

您需要解压缩列表才能将列表传递到 a:

f(*[x for x in range(100)], b=0)
# ^