Pourquoi la fonction Range de Python exclut-elle la valeur de fin ?
La fonction range() de Python crée une séquence de nombres qui commence par le paramètre de début et se termine juste avant le paramètre de fin. Les utilisateurs rencontrent souvent un comportement inattendu où range(start, end) produit une liste excluant la valeur de fin.
Raisonnement derrière l'exclusion
Contrairement aux impressions initiales, ce comportement n’est pas arbitraire. Il sert les objectifs suivants :
-
Indexation base zéro : Les conventions de programmation utilisent généralement une indexation base zéro, où le premier élément est accessible à l'index 0. Range() adhère à cette convention en excluant la valeur de fin pour garantir que la longueur de la séquence générée correspond à la fin - début spécifiée.
-
Bouclage Commodité : Beaucoup parcourent des séquences en utilisant des boucles for qui font référence à la longueur de la séquence. Si range() incluait la valeur de fin, la boucle devrait soustraire 1 de la longueur, ce qui augmenterait la complexité du codage.
Solutions alternatives
Pour Dans les cas où la valeur finale doit être incluse, Python propose des options :
-
Modification du début de la plage : range(start - 1, end) produira une séquence qui inclut la valeur de fin.
-
Fonction de plage personnalisée : On peut définir une fonction personnalisée pour créer des plages qui incluent la valeur de fin. Par exemple :
def inclusive_range(start, end):
return range(start, end + 1)
Copier après la connexion
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!