Python >> Tutoriel Python >  >> Python

Qu'est-ce que l'opérateur Double Colon ::en Python ?

Formulation du problème : Que signifie le double-virgule string[::2] ou sequence[3::4] signifie en Python ?

>>> string[::2]

Vous pouvez observer un double deux-points similaire :: pour les séquences :

>>> lst = [1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> lst[::2]

Répondre  :Le double-virgule est un cas particulier dans le découpage étendu de Python caractéristique. La notation de découpage étendue string[start:stop:step] utilise trois arguments start , stop , et step pour découper une sous-séquence. Il accède à tous les step -ième élément entre les indices start (inclus) et stop (exclu). Le double-virgule :: se produit si vous supprimez le stop dispute. Dans ce cas, Python utilisera la valeur par défaut et ne supposera pas d'arrêt artificiel.

Voici quelques exemples :

  • string[::2] lit "index de démarrage par défaut, index d'arrêt par défaut, la taille de l'étape est de deux—prenez chaque seconde élément" .
  • string[::3] lit "index de démarrage par défaut, index d'arrêt par défaut, la taille de l'étape est de trois - prenez tous les trois élément" .
  • string[::4] lit "index de départ par défaut, index d'arrêt par défaut, la taille du pas est de quatre ; prenez tous les quatre éléments " .
  • string[2::2] lit "index de départ de deux, index d'arrêt par défaut, la taille du pas est de deux—prenez un élément sur deux à partir de l'index 2 " .

Examinons ces exemples dans un shell de code Python :

>>> s = 'hello world'
>>> s[::2]
'hlowrd'
>>> s[::3]
'hlwl'
>>> s[::4]
'hor'
>>> s[2::2]
'lowrd'

Contexte :Le découpage est un concept pour découper une sous-chaîne à partir d'une chaîne donnée. Utiliser la notation de découpage s[start:stop:step] pour accéder à tous les step -ème élément à partir de l'index start (inclus) et se terminant par l'index stop (exclu). Les trois arguments sont facultatifs, vous pouvez donc les ignorer pour utiliser les valeurs par défaut (start=0 , stop=len(lst) , step=1 ). Par exemple, l'expression s[2:4] à partir de la chaîne 'hello' taille la tranche 'll' et l'expression s[:3:2] taille la tranche 'hl' .

Vous pouvez plonger dans notre didacticiel complet sur le tranchage ici :

[Tutoriel complet] Introduction au découpage

En outre, il peut être utile de regarder ma vidéo d'introduction sur le tranchage :

Pour booster vos compétences Python, consultez mes feuilles de triche gratuites et mes tutoriels de code qui vous sont envoyés par e-mail :