Votre problème en lui-même est un peu flou. Quoi qu'il en soit, j'ai pris juste assumption--
>>> a = []
>>> a.append((1,2,3))
>>> a.append((7,2,4))
>>> a
[(1, 2, 3), (7, 2, 4)] # list of tuples
Je suppose que vous pourriez être intéressé à obtenir la somme de tous les éléments de la liste. Si tel est le problème, alors cela pourrait être résolu en 2 étapes
1) La première étape devrait être d'aplatir la liste.
2) Ensuite, ajoutez tous les éléments de la liste.
>>> new_list = [y for x in a for y in x] # List comprehension used to flatten the list
[1, 2, 3, 7, 2, 4]
>>> sum(new_list)
19
Une doublure
>>> sum([y for x in a for y in x])
19
Une autre hypothèse, si votre problème est de moins tous les éléments de tuple par élément dans la liste puis utilisez ceci:
>>> [tuple(map(lambda y: abs(item - y), x)) for x in a]
[(0, 1, 2), (6, 1, 3)] # map function always returns a list so i have used tuple function to convert it into tuple.
Si le problème est quelque chose d'autre alors s'il vous plaît élaborer.
PS: Python La compréhension de liste est bien meilleure et efficace que toute autre chose.
Veuillez noter que 'sum' est une fonction intégrée dans python, il est donc recommandé d'utiliser un nom différent, comme je l'ai fait dans ma réponse. – abyx
J'ai changé la somme en sommes, et la même erreur apparaît. –
Oui, bien sûr. Les réponses ci-dessous expliquent ce qu'est le vrai problème. Je viens de dire que c'est une meilleure pratique pour maintenant ombrer la fonction «sum» :) – abyx