Liste des listes et "Trop de valeurs à décompresser"
Je suis en train d'utiliser le code suivant sur une liste de listes pour créer une nouvelle liste de listes, dont de nouveaux éléments sont d'une certaine combinaison d'éléments de la liste à l'intérieur de l'ancienne liste...si cela a un sens! Voici le code:
for index, item in outputList1:
outputList2 = outputList2.append(item[6:].extend(outputList1[index+1][6:]))
Cependant, je reçois un "Trop grand nombre de valeurs à déballer" erreur. Me semble même l'erreur avec le code suivant:
for index, item in outputList1:
pass
Que pouvais-je fait de mal?
source d'informationauteur Bitrex
Vous devez vous connecter pour publier un commentaire.
la
for
instruction effectue une itération sur un objet iterable -- dans le cas d'une liste, il parcourt le contenu, un par un, à chaque itération, une valeur est disponible.Lors de l'utilisation de
for index, item in list:
vous essayez de décompresser d'une valeur de deux variables. Ce serait de travailler avecfor key, value in dict.items():
qui effectue une itération sur les dicts clés/valeurs dans un ordre arbitraire. Puisque vous semblez vouloir un indice numérique, il existe une fonctionenumerate()
qui obtient la valeur d'un objet iterable, ainsi qu'un indice pour elle:edit: étant donné que le titre de votre question mentionne "liste de listes", je me dois de souligner que, lors de l'itération sur une liste, le déballage en plus d'une variable de travail si chaque élément de la liste est elle-même un objet iterable. Par exemple:
Ce sera de sortie:
comme prévu. Cela fonctionne de la même manière que les dicts faire, seulement vous pouvez avoir deux, trois, ou cependant de nombreux éléments dans les contenus des listes.
Vous avez oublié d'utiliser énumérer, vous voulez dire pour ce faire: