-2
votes

Comment ajouter le 3ème élément de la sous-liste ensemble dans une liste 2 dimensions

J'essaie d'ajouter le troisième élément de chaque sous-liste ensemble dans ma liste 2 dimensions. J'ai essayé cela. XXX PRE>

Je reçois cette erreur: P>

TypeError: list indices must be integers or slices, not list


0 commentaires

5 Réponses :


1
votes

Total_Order est une liste des listes, lorsque vous ithétiez l'objet de cet objet comme vous l'avez fait, vous obtenez un objet de liste - d'où l'erreur. Vous pouvez itérez-le en utilisant énumérer code> ou une méthode plus simple:

for i in range(len(total_order)):
    total_cost += total_order[i][2]


1 commentaires

Merci beaucoup, je n'ai pas réalisé que c'était aussi simple. Cela a du sens maintenant :)



1
votes

Vous pouvez essayer d'ajouter le deuxième élément de i xxx

ou d'utiliser Enumarte à itérer par index xxx

sortie xxx


0 commentaires

2
votes

problème est que, dans votre cas, ce n'est pas un numéro, mais une liste. Mettez l'impression (i) là-bas et vous verrez.

total_cost += i[2]


0 commentaires

0
votes

Utilisez la méthode d'index des listes Python: xxx

donnant: xxx


0 commentaires

2
votes

La boucle sur une liste de listes ne vous donne pas l'index d'une liste, mais la liste réelle elle-même.

J'ai renommé votre i code> à commande code> p> xxx pré>

mais je vous suggère de regarder dans "Expressions génératrices" et d'utiliser la fonction intégrée Somme code>: p>

total_order = [['Steve', 45, 6], ['Miranda', 56, 3], ['Alice', 34, 8]]
total_cost = sum(order[2] for order in total_order)


0 commentaires