Disons que j'ai une liste de fruits et que je souhaite insérer les éléments de cette liste dans une autre liste. Utilisation de la compréhension de la liste J'aurais un code qui ressemble à ceci: Ce retour: p> Cependant, je veux que les éléments disposés dans le même ordre que la liste d'origine.
Mon idée venait de l'annuler comme ceci: p> mais qui retourne quelle que soit la raison: p> Quelqu'un peut-il m'expliquer Pourquoi utiliser l'index [-1] donne dans cet ordre étrange? Comment pourrais-je atteindre l'ordre d'origine? P> EDIT: P> J'ai oublié d'ajouter que je recherche une méthode qui insère les éléments de liste au début de la liste, ce qui ajoute donc Les éléments de p> dans p> doivent entraîner p>
4 Réponses :
L'indice d'insertion est l'index que l'élément aura après em> l'insertion. Ce que vous essayez vraiment, c'est: qui tourne Cela étant dit, vous ne devez vraiment pas utiliser de compréhentions pour des effets secondaires si vous n'utilisez pas la liste résultante. Notez que P> P> Il existe de meilleurs moyens d'atteindre une telle copie peu profonde: p> nommer juste quelques-uns. P> p> my_list code> dans la copie attendue.
En utilisant
-1 code> comme indice d'insertion insère avant em> le dernier élément, qui ne fonctionne pas pour le premier car il n'y a pas encore de dernier élément à précéder, d'où la commande bizarre . P>
[my_list.insert (-1, i) pour i in fruit] code> retourne réellement
[aucun, non, aucun, aucun, aucun, non, p>
APPEND code> au lieu de Insérer code>. LI>
- La raison pour laquelle vous obtenez la commande "mixte" de votre version avec
-1 code> est-ce que l'insertion dans la position -1 CODE> Mettez l'élément dans le "à côté du dernier "Élément à l'intérieur de votre liste. LI>
Donc, si vous avez la liste ["A", "B"]] code> et vous insérez "C" code> dans la position de -1 code > - Votre nouvelle liste sera ["a", "c", "b"]] code>. p> comme pour votre code - vous pouvez utiliser: p>
my_list = fruit[::]
Grande réponse, merci beaucoup. Malheureusement, j'ai oublié de préciser que j'ai besoin des éléments au début de la liste, pourriez-vous regarder la question mise à jour? Désolé pour les tracas.
Utiliser list.index () Il renvoie l'index de l'élément, si vous connaissez l'index des éléments de la liste d'origine, vous pouvez insérer exactement comme la liste d'origine.
['apple', 'orange', 'banana', 'peach']
Il n'est généralement pas recommandé d'utiliser des "effets secondaires" dans une compréhension de la liste ni de les utiliser à la place d'une boucle. Vous pouvez insérer une liste dans une autre liste à l'aide de simples sous-domes, cependant: sortie: p> note: une indice est un Référence à certains éléments de la liste, un seul élément ou une gamme d'éléments. Dans ce cas, nous remplaçons une gamme d'éléments contenant des éléments zéro à partir de la position 0. em> p> p>
Incroyable, merci. Pouvez-vous clarifier ce que vous entendez par Suscrip? Des souscriptions? Vous recherchez cela montre quelque chose d'autre apparemment, je n'ai jamais vu cela auparavant dans ma courte carrière de Python.
Désolé "Suscriprip" était une typo horrible.