Slicing de sous-chaîne avec index hors de la gamme: dualité et séquences vides
dans Python, accédant aux éléments d'une séquence à l'aide de l'opérateur de découpage, comme «exemple» [999: 999], peut conduire à un comportement inattendu, comme un comportement. Contrairement à l'indexation des éléments individuels en utilisant «Exemple» [9], ce qui soulève une erreur, la tranche à l'extérieur des limites d'une séquence ne le fait pas.
Ce comportement découle de la différence fondamentale entre l'indexation et le tranchage. Indexation d'une séquence, comme «exemple» [3], renvoie un seul élément. Cependant, le découpage d'une séquence, comme «exemple» [3: 4], renvoie une sous-séquence d'éléments.
Lors de l'indexation d'un élément qui n'existe pas, tel que «l'exemple» [9], il n'y a pas d'élément à retourner, d'où l'erreur. En revanche, lors de la découpage d'une séquence à l'extérieur des limites, une séquence vide peut être retournée. En effet, une tranche d'une séquence d'un index au-delà de sa longueur à un index au-delà de sa longueur ou jusqu'à la fin de la séquence est une séquence vide.
pour l'illustrer davantage, considérez le comportement suivant avec les listes:
>>> [0, 1, 2, 3, 4, 5][3] 3 >>> [0, 1, 2, 3, 4, 5][3:4] [3]
Dans ce cas, la différence entre l'indexation et le tranchage est évidente. Avec les chaînes, les résultats semblent identiques car il n'y a pas de concept de caractère individuel dans Python en dehors d'une chaîne. Au contraire, un seul caractère est une chaîne à 1 caractères.
Par conséquent, le coup de sous-chaîne avec un index hors de la plage de Python ne se traduit pas par une erreur car il y a un résultat significatif: une séquence vide. Ce comportement permet un codage flexible et concis lors de la gestion des séquences de différentes longueurs.
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3