Désolé, c'est une question simple. Je suis nouveau à Python. J'essaye d'écrire une fonction qui détectera s'il y a 2 2 consécutifs l'un à côté de l'autre. nums est un tableau aléatoire de ints. Cependant, j'obtiens une erreur qui dit que la liste est hors de portée. Quelqu'un peut-il me dire pourquoi c'est? Merci!Vous essayez de rechercher des valeurs dans une liste Python mais obtenez une erreur de liste hors plage?
def has22(nums):
for ii in nums:
if nums[ii]==2:
if ii+1 < len(nums):
if ii+1 == 2:
return True
return False
Si votre liste contient 5 éléments, mais que la valeur d'un de ces éléments est, par exemple, le nombre 9, alors 'nums [ii]' recherchera le 10ème élément de cette liste (10ème dû à zéro indexage). – roganjosh
Note: 'ii' sera le nombre lui-même, pas l'index dans votre 'tableau'. –
J'utiliserais une variante de la 2ème version de Kasramvd dans la question liée: 'any (i == j == 2 pour i, j dans zip (nums, nums [1:]))'. –