Maison >développement back-end >Tutoriel Python >Comment inverser une liste en Python sans modifier la liste d'origine ?

Comment inverser une liste en Python sans modifier la liste d'origine ?

Linda Hamilton
Linda Hamiltonoriginal
2024-11-13 13:24:02871parcourir

How to Reverse a List in Python Without Modifying the Original List?

Chaînage de méthodes pour l'inversion de liste

Lorsque vous travaillez avec des listes, il est souvent souhaitable de créer une copie inversée sans utiliser explicitement une instruction distincte. Cependant, la méthode intégrée list.reverse() renvoie None et modifie la liste sur place.

Le problème

Considérez le code suivant :

k = ['F', ' ', 'B', 'F']

def solution(formation):
    return (formation.index(bCamel) > (len(formation) - 1 - (formation.reverse()).index(fCamel)))

solution(k)

Ce code tente de comparer les indices de deux caractères (bCamel et fCamel) dans une liste qui a été inversée. Cependant, il génère une AttributeError car list.reverse() renvoie None, laissant (formation.reverse()) comme None.

Solution : Utiliser le découpage

Au lieu de en vous appuyant sur list.reverse(), vous pouvez utiliser le slicing pour obtenir une liste inversée :

reversed_formation = formation[::-1]

Le la syntaxe [::-1] inverse la liste sans la modifier sur place. Vous pouvez ensuite utiliser reversed_formation selon vos besoins :

def solution(formation):
    reversed_formation = formation[::-1]
    return (formation.index(bCamel) > (len(formation) - 1 - reversed_formation.index(fCamel)))

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn