Bonjour J'essaie de convertir des listes imbriquées dans l'ordre inverse.
Voici mon code: p>
def reverse_(items): items = items[::-1] new_l = [] for item in items: if type(item) == list: item.reverse() new_l.append(item) else: new_l.append(item) return new_l
3 Réponses :
On dirait que vous souhaitez inverser les listes récursivement em> non seulement une fois niché. Cela signifie que vous devez faire une fonction de fonction récursive, c'est-à-dire qu'il doit s'appeler lui-même. def recursive_reversed(items):
if isinstance(items, list):
return [recursive_reversed(item) for item in reversed(items)]
return items
C'est parce que vous faites éléments [:: - 1] code>, ce qui rend la liste pour finir comme ça
[[99, [17, [33, ['boo!']]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]] [33, ['boo!']]]]]] Code> et
42 code>. Donc, vous ne pouvez plus que vous obtiendrez plus de listes dans une liste, vous devrez vérifier si vous êtes itération dans votre liste. Mais vous ne pouvez pas faire cela avec une simple boucle. P>
Si vous n'avez pas besoin d'une copie inversée, mais que vous voulez seulement inverser la structure elle-même: démo: p> Vous pouvez également le mettre fin avec s'il est quelque peu inhabituel de modifier et de retourner, et certaines personnes Je ne l'aimera pas. p> p> renvoyer des éléments code> pour obtenir le résultat renvoyé: p>
Est-ce que ceci Comment inverser une liste de python imbriquée
@ Juanpa.arrivillaga Il corrige, pouvez-vous s'il vous plaît le poster comme réponse afin que je puisse accepter :) Merci beaucoup pour votre aide les gars oui je vérifiais ces liens mais Juanpa résout mon problème
@Darrylg n'est-il pas seulement à propos de l'inversion de la liste ultérieure?
@ Superbrain - Le programme lié est récursif pour fonctionner sur des listes imbriquées et fournit la sortie demandée.
@Darrylg hmm, je suppose. Vous êtes lié à une question, pas une réponse, mais oui, il y a une réponse qui ne résout pas celle liée à la question, mais la résout celle-ci.
@ Superbrain - Oui, c'est un lien vers une question (comme la pratique habituelle). L'idée est que cela devrait être un lien vers une question avec au moins une bonne réponse. Dans ce cas, je parlais de la réponse de Martin dans le lien et je pense que c'est un peu équivalent à la réponse acceptée ici, la différence étant la réponse acceptée ici utilise une compréhension de la liste tandis que Martin utilise une boucle.