Back

Opérations de base sur les chaînes python

Opérations de base sur les chaînes python

  1. Objectifs

    • Connaître les opérations de base sur les chaînes python
  2. Présentation

    • Les chaînes sont entre ‘ ou ” et les \n, \t sont toujours évalués dedans !
    • On peut aussi faire commencer et finir une chaîne par un triple double quotes “”” ou simple quote ”’ (permet d’inclure des retours chariots, comme avec <<"EOT"; ... EOT en perl).



  3. Accéder aux caractères dans les chaînes par index en Python

    • Les chaînes Python sont des séquences de caractères individuels et partagent leurs méthodes d’accès de base avec ces autres séquences Python – listes et tuples.
    • Le moyen le plus simple d’extraire des caractères uniques à partir de chaînes (et des membres individuels de n’importe quelle séquence) est de les décompresser dans les variables correspondantes.
    • x = 'abcdef' : définition de la chaîne.
    • En règle générale, il est plus utile d’accéder aux caractères individuels d’une chaîne en utilisant la syntaxe d’indexation de type tableau de Python.
    • Ici, comme pour toutes les séquences, il est important de se rappeler que l’indexation est basée sur zéro; autrement dit, le premier élément de la séquence est le numéro 0.
    • site= 'apcpedagogie.com'
      print(site[4])# Obtenez le 5ème caractère (soit e)
      
    • Si vous souhaitez commencer à compter à partir de la fin de la chaîne, au lieu du début, utilisez un index négatif. Par exemple, un index de -1 fait référence au caractère le plus à droite de la chaîne.
    • site= 'apcpedagogie.com'
      print(site[-4])# Obtenez le 4ème caractère de la fin (soit .)
      
  4. Concaténation et répétition

    • Concaténation de chaînes

      : x = 'aaa' + 'bbb' donne aaabbb.

    • Répétition d’une chaîne

      : x = 'ab' * 5 donne ababababab

  5. Extraction de sous-chaînes :

    • Comme pour tous les objets de type séquence, vous pouvez extraire une sous-séquence par la forme x[start:end:step]start est l’index de départ, end est l’index de fin non inclu et step le pas. start et end peuvent être négatifs. Dans ce cas-là, l’index est considéré comme relatif à la fin du string et len(x)+start ou len(x)+end leur sont substitués. De plus si start est omis, il est considéré comme valant 0, si end est omis, il est considéré comme len(x). Si step est omis, il est traité comme valant 1.

      • x = 'apcpedagogie.com' : définition de la chaîne.
      • print(x[2]) : 3ème caractère (indice commence à 0), ici c.
      • print(x[0:3]) : caractères d’indices 0 à 3 – 1, ici apc.
      • print(x[4:8]) : caractères d’indices 4 à 8 – 1, ici edag.
        • Regardons ce qui se passe ici. Comme précédemment, nous spécifions que nous voulons commencer à la position 4 (base zéro) dans la chaîne. Mais maintenant, au lieu de nous contenter d’un seul caractère de la chaîne, nous disons que nous voulons plus de caractères, jusqu’à mais sans inclure le caractère en position 8.
      • print(x[1:]) : caractères à partir de l’indice 1 jusqu’à la fin , ici pcpedagogie.com.
      • print(x[:3]) : caractères jusqu’à l’indice 3 – 1, ici apc.
      • print(x[-2:]) : les 2 derniers caractères, ici om.
      • print(x[0:-2]) : toute la chaîne sauf les 2 derniers caractères , ici apcpedagogie.c
      • si l’index de fin est > à la longueur, c’est la longueur qui est utilisée.
      • print(len(x)) : longueur, ici 16.
      • x[::2] : chaîne avec un caractère sur deux (en commençant par le premier), ici aceaoi.o.
      • x[1::2] : chaîne avec un caractère sur deux en commençant par le deuxième, ici ppdggecm.
      • x[::-1] : la chaîne renversée, ici moc.eigogadepcpa.
  6. Saut de caractère lors de la division des chaînes Python

    • La dernière variante de la syntaxe entre crochets est d’ajouter un troisième paramètre, qui spécifie la «foulée», ou le nombre de caractères que vous souhaitez avancer après que chaque caractère est récupéré de la chaîne d’origine.x[4:8:1]
    • Le premier caractère récupéré correspond toujours à l’index avant les deux points; mais par la suite, le pointeur avance quel que soit le nombre de caractères que vous spécifiez comme votre pas, et récupère le caractère à cette position. Et ainsi de suite, jusqu’à ce que l’indice de fin soit atteint ou dépassé.
    • Si, comme dans les cas que nous avons rencontrés jusqu’à présent, le paramètre est omis, sa valeur par défaut est 1, de sorte que chaque caractère du segment spécifié est récupéré. Un exemple rend cela plus clair.
    • site= 'apcpedagogie.com'
      print(site[4:8])# Obtenez le 4ème caractère à la position 8-1
      print(site[4:8:1])# 1 est la valeur par défaut de toute façon, donc même résultat
      print(site[4:8:2])# Renvoyez un caractère, puis avancez de 2 positions, etc.
       Résultats :
      edag
      edag
      ea
    • Vous pouvez également spécifier une foulée négative. Comme vous vous en doutez, cela indique que vous souhaitez que Python recule lors de la récupération de caractères.
  7. Construire une partition

    • Une méthode de chaîne similaire est partition(). Cela divise également une chaîne en fonction du contenu, les différences étant que le résultat est un tuple, et il préserve le délimiteur, ainsi que les deux parties de la chaîne cible de chaque côté de celui-ci. Contrairement à split(), effectue partition() toujours une seule opération de fractionnement, quel que soit le nombre de fois où le délimiteur apparaît dans la chaîne cible.
    • La syntaxe de partition()est:string.partition(separator)
    • string = "apcpedagogie.com, c'est notre site de formation"
      
      # ',' séparateur est trouvé
      print(string.partition(','))
      
      # 'notre' séparateur est trouvé
      print(string.partition('notre '))
      
      string = "apcpedagogie.com, c'est notre site de formation"
      
      # se divise à la première occurrence de 'com'
      print(string.partition('com'))
      """ Résultats
      ('apcpedagogie.com', ',', " c'est notre site de formation")
      ("apcpedagogie.com, c'est ", 'notre ', 'site de formation')
      ('apcpedagogie.', 'com', ", c'est notre site de formation")
      """



Riadh HAJJI

Laisser un commentaire

Abonnez vous à notre chaîne YouTube gratuitement