J'essaie de parcourir une liste imbriquée, comme exemple: ma sortie souhaitée est p> i ' J'ai été en mesure d'utiliser une fonction pour me donner le résultat de la première liste p> mais je n'ai pas pu itérer à toutes les listes imbriquées. Je suis sûr qu'il y a une boucle facile que je peux ajouter à cela, mais je n'ai pas pu obtenir un pour travailler. P> p>
4 Réponses :
Vous pouvez essayer ceci: sortie est: p>
[['1', '2'], ['2', '3'], ['3', '4'], ['4', '5'], ['6', '7'], ['7', '8'], ['9', '10']]
Vous pouvez utiliser zip code> ping pour obtenir les paires, puis concaténer à l'aide de
chaîne code>:
Il y a de_iterable () code> quel ajustement est encore meilleur:
liste (chaîne.from_iterable (zip (x, x [1:]) pour x dans les données)) code>
@Olvinroght: Bon point, de cette façon, même on pouvait même facilement traiter la séquence entière sans qu'il soit nécessaire de tout avoir en mémoire en même temps (seuls les sublistes simples seront)
Obtenez une séquence iérrable
def chain(lst): for sequence in lst: for index in range(len(sequence)-1): yield sequence[index:index+2] lst = [['1', '2', '3', '4', '5'], ['6', '7', '8'], ['9', '10']] print(list(chain(lst)))
Utilisez
chaîne.from_itéable () code> < / a> et appliquer votre fonction sur le retour de cette fonction.
Pourriez-vous ajouter ce que vous avez essayé? Les gens pourraient suggérer comment améliorer votre code existant