Maison >développement back-end >Tutoriel Python >Comment inverser une liste et trouver l'index d'un élément sans modifier la liste d'origine ?
Chaînage de .reverse avec .index sur une liste
Ce code échoue lors de la tentative de combinaison des méthodes .reverse et .index sur une liste :
k = ['F', ' ', 'B', 'F'] def solution(formation): return ((formation.index(bCamel) > (len(formation) - 1 - (formation.reverse()).index(fCamel)))) solution(k)
Le problème se pose parce que .reverse renvoie None, ce qui rend impossible l'enchaînement de .index sur la liste inversée.
Éviter les instructions inversées séparées
Pour éviter d'utiliser une instruction distincte pour inverser la liste avant l'indexation, vous pouvez utiliser le découpage pour obtenir la liste inversée :
formation[::-1]
Cela renvoie une nouvelle copie de la liste dans l'ordre inverse, en préservant l'original ordre au sein de la liste existante.
Avec cet ajustement, la solution corrigée devient :
k = ['F', ' ', 'B', 'F'] def solution(formation): return ((formation.index(bCamel) > (len(formation) - 1 - (formation[::-1]).index(fCamel)))) solution(k)
Ce code utilise avec succès la liste inversée pour comparer les positions de fCamel et bCamel au sein de la formation sans modifier la liste originale.
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!