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!