2016-09-22 1 views
0

Ceci est ma fonctionPython 3.3.0 - type d'opérande non pris en charge (s) pour +: 'int' et 'liste'

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

Après appel provoque l'erreur

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' 

C'est fonctionne bien quand je n'utilise pas la somme (a) et utilise seulement un à la place, pls laissez-moi savoir ce qui est tord avec cela.

Répondre

0

Vous devez décompresser la liste afin de passer la liste en a:

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