J'essaie d'ajouter le troisième élément de chaque sous-liste ensemble dans ma liste 2 dimensions. J'ai essayé cela. Je reçois cette erreur: P> TypeError: list indices must be integers or slices, not list
5 Réponses :
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]
Merci beaucoup, je n'ai pas réalisé que c'était aussi simple. Cela a du sens maintenant :)
Vous pouvez essayer d'ajouter le deuxième élément de ou d'utiliser Enumarte à itérer par index p> sortie p> i code>
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]
Utilisez la méthode d'index des listes Python: donnant: p>
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 mais je vous suggère de regarder dans "Expressions génératrices" et d'utiliser la fonction intégrée i code> à commande code> p> Somme code>: p> total_order = [['Steve', 45, 6], ['Miranda', 56, 3], ['Alice', 34, 8]]
total_cost = sum(order[2] for order in total_order)