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

Pourquoi la fonction `range()` de Python exclut-elle la limite supérieure ?

Susan Sarandon
Libérer: 2024-12-13 17:15:09
original
903 Les gens l'ont consulté

Why Does Python's `range()` Function Exclude the Upper Bound?

Pourquoi les fonctions de plage excluent la limite supérieure

En Python, la fonction range(start, end) génère une séquence de nombres commençant par le début et se terminant avant la fin. Ce comportement peut être déroutant pour certains utilisateurs qui s'attendent à ce que la plage inclue la fin.

La raison de cette exclusion réside dans l'utilisation courante de range(0, 10). Lorsqu'elle est utilisée avec un début de 0, range renvoie [0, 1, 2, 3, 4, 5, 6, 7, 8, 9], qui est la séquence souhaitée avec 10 éléments. Cela correspond à la longueur de la séquence générée, garantissant que le nombre d'itérations est correct dans les boucles et autres applications.

De plus, l'exclusion de la limite supérieure permet une syntaxe de boucle plus propre. Considérez l'extrait de code :

for i in range(len(li)):
    pass
Copier après la connexion

Si la plage inclue la fin, le code ci-dessus générerait une erreur lorsque j'atteindrais len(li) car il tenterait d'accéder à un élément en dehors des limites de la liste. L'exclusion de la limite supérieure élimine cette erreur potentielle.

Les programmeurs préfèrent généralement utiliser des boucles for avec i allant de 0 à len(li) - 1 plutôt que de 1 à len(li). Cela est dû à la prévalence de l'indexation basée sur 0 dans la programmation.

Pour les utilisateurs qui préfèrent inclure la limite supérieure, une fonction personnalisée peut être créée :

def range1(start, end):
    return range(start, end + 1)
Copier après la connexion

En utilisant range1(1 , 10) produira la séquence souhaitée de [1, 2, 3, 4, 5, 6, 7, 8, 9, 10].

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