Maison > développement back-end > Tutoriel Python > Pourquoi le découpage de sous-chaînes hors plage en Python renvoie-t-il une chaîne vide au lieu d'une erreur ?

Pourquoi le découpage de sous-chaînes hors plage en Python renvoie-t-il une chaîne vide au lieu d'une erreur ?

Mary-Kate Olsen
Libérer: 2024-12-05 06:29:13
original
917 Les gens l'ont consulté

Why Does Out-of-Range Substring Slicing in Python Return an Empty String Instead of an Error?

Découpage de sous-chaînes hors plage : pourquoi cela fonctionne

Alors que le découpage de sous-chaînes en Python entraîne généralement une erreur lorsque l'index est sorti de portée, il y a une exception à ce comportement. Considérez l'opération 'exemple'[999:9999] : au lieu d'une erreur, elle renvoie une chaîne vide.

En effet, le découpage de sous-chaînes avec des indices hors plage ne provoque pas d'exception. Au lieu de cela, Python l'interprète comme une plage qui s'étend au-delà de la longueur de la séquence, ce qui donne une sous-séquence vide. Ce comportement diffère de l'indexation d'un seul élément, qui générera une erreur si l'index est hors plage.

La distinction entre l'indexation et le découpage devient évidente lorsqu'il s'agit de chaînes et de listes. Par exemple, lors de l'indexation d'une liste, un index hors plage renverra une erreur, tandis que le découpage entraînera une liste vide :

[0, 1, 2, 3, 4, 5][3]  # Returns 3
[0, 1, 2, 3, 4, 5][3:4]  # Returns [3]
Copier après la connexion

En revanche, les chaînes agissent différemment. Puisqu'un seul caractère est intrinsèquement une chaîne de 1 caractère en Python, l'indexation d'une chaîne avec un index hors plage donne effectivement une chaîne vide :

'example'[3]  # Returns 'm' (the character at index 3)
'example'[3:4]  # Also returns 'm' (a substring of length 1)
Copier après la connexion

En résumé, le découpage de sous-chaîne avec un index hors plage Les indices de plage ne provoquent pas d'erreur, car ils sont interprétés comme une plage qui s'étend au-delà de la longueur de la séquence, ce qui donne une sous-séquence vide. Cependant, l'indexation d'un seul élément déclenchera une erreur si l'index est hors plage.

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