Maison > développement back-end > Tutoriel Python > Pourquoi la fonction `range()` de Python exclut-elle la valeur finale ?

Pourquoi la fonction `range()` de Python exclut-elle la valeur finale ?

Barbara Streisand
Libérer: 2024-11-28 17:24:11
original
298 Les gens l'ont consulté

Why Does Python's `range()` Function Exclude the Final Value?

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal