Inverser une liste avec des méthodes chaînables
Dans l'extrait de code que vous avez fourni, vous essayez d'inverser une liste à l'aide de la méthode .reverse(), puis de la chaîner immédiatement une autre méthode (.index) sur la liste inversée. Cependant, .reverse() modifie la liste sur place et renvoie None, c'est pourquoi vous recevez l'erreur AttributeError : l'objet 'NoneType' n'a pas d'attribut 'index'.
Pour éviter ce problème, vous pouvez utiliser slicer pour renvoyer une copie inversée de la liste. Le découpage avec [::-1] inverse l'ordre des éléments dans la liste et crée une nouvelle liste sans modifier celle d'origine :
formation[::-1]
Cette expression renvoie une copie inversée de la liste de formation, que vous peut ensuite utiliser pour appeler .index sur :
def solution(formation): return (formation.index(bCamel) > (len(formation) - 1 - (formation[::-1]).index(fCamel)))
Avec cette modification, la fonction solution déterminera avec succès si l'indice de 'B' (bCamel) dans la liste de formation est supérieur que l'indice de 'F' (fCamel) dans la liste de formations inversée, moins la longueur de la liste de formations. Il s'agit essentiellement d'une vérification pour voir si « B » vient avant « F » dans la formation inversée.
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!