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)
# ^
这是我的功能
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)
# ^