[Python] Chapitre 02-05 Bases des programmes Python (opérations / méthodes de chaînes de caractères)

[Python] Chapitre 02-05 Manipulation des chaînes

"Chapitre 02-02" traitait de la partie de base de la chaîne de caractères.

Cette fois, je voudrais extraire une partie de ces chaînes de caractères et la faire fonctionner en utilisant des instructions appelées méthodes.

Extraction de chaîne de caractères (extraction d'un seul caractère)

Une partie de la chaîne de caractères peut être extraite et affichée. Cette fois, je voudrais exécuter le programme depuis la ** console Python **.

Tout d'abord, entrez le code ci-dessous.

>>>str = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
>>>print(str)
ABCDEFGHIJKLMNOPQRSTUVWXYZ

Le contenu affecte la chaîne de caractères "ABCDEFGHIJKLMNOPQRSTUVWXYZ" à la variable str. Il est affiché à l'écran avec la fonction d'impression.

Comme vous le savez, il existe 26 types d'alphabets. Pour vérifier s'il existe réellement 26 types, vous pouvez également utiliser la ** fonction len ** pour connaître la longueur de la chaîne.

>>>len(str)
26

J'ai essayé de résumer les chaînes de caractères stockées dans la variable str dans le tableau ci-dessous. De plus, ** les nombres commencent à 0 **.

nombre 0 1 2 3 4 5 22 23 24 25
Chaîne A B C D E F W X Y Z

Avec le tableau ci-dessus à l'esprit, je voudrais extraire les caractères. Pour récupérer des caractères, ** écrivez le numéro de la position d'extraction ** entre []. Entrez le code suivant dans la ** console Python **.

>>>str[0]
'A'
>>>str[1]
'B'
>>>str[9]
'J'

Comme beaucoup d'entre vous l'ont peut-être remarqué, dans le cas de ** Python, le début est 0 **. Veuillez noter que certains langages de programmation commencent à 1 au début.

Comme vous pouvez le voir dans le tableau ci-dessus, il n'y a que 25 numéros. Par conséquent, si vous spécifiez un nombre qui dépasse la longueur de la chaîne de caractères, une erreur se produit.

>>>str[26]
Traceback (most recent call last):
  File "<input>", line 1, in <module>
IndexError: string index out of range

Vous pouvez également spécifier un nombre négatif entre []. Si vous spécifiez un nombre négatif, il sera extrait de la fin de la chaîne de caractères. Entrez le code suivant dans la ** console Python **.

>>>str[-1]
'Z'
>>>str[-2]
'Y'
>>>str[-9]
'R'

Extraire la chaîne de caractères (extraire plusieurs chaînes de caractères), tranche

La chaîne de caractères peut également être récupérée en spécifiant une plage. Ceci est parfois appelé ** slice **. Spécifiez ":" (deux-points) pour spécifier la plage.

Vérifions-le avec la ** console Python **. Entrez le code ci-dessous. La chaîne de caractères à utiliser est la même que précédemment. str = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'

>>>str[5:]
'FGHIJKLMNOPQRSTUVWXYZ'
>>>str[:24]
'ABCDEFGHIJKLMNOPQRSTUVWX'
>>>str[5:24]
'FGHIJKLMNOPQRSTUVWX'

Premièrement, concernant str [5:], le tableau suivant présenté précédemment,

nombre 0 1 2 3 4 5 22 23 24 25
Chaîne A B C D E F W X Y Z

Comme vous pouvez le voir dans, la plage de la cinquième chaîne de caractères et les suivantes (après "F") est extraite. Exprimons cela un peu mathématiquement. (Pensez à x comme un nombre)

5≦x

Et la gamme comprenant la 5ème est supprimée.

Ensuite, à propos de str [: 24]. Par rapport au tableau, le 24e "Y" n'est pas inclus. Notez que ceci est porté au 24ème ** front **. Mathématiquement parlant

x<24

Veuillez noter que le 24 n'est pas inclus.

Enfin, str [5:24], qui est une combinaison des deux ci-dessus. La plage avec le début et la fin spécifiés est extraite. Cependant, comme mentionné ci-dessus, veuillez noter qu'il est extrait à l'avant de la fin. Mathématiquement parlant

5≦x<24

Ce sera.

En complément de l'extraction en spécifiant la plage, vous pouvez extraire des caractères à n'importe quel nombre d'intervalles de caractères. Dans l'exemple ci-dessous, il est extrait à des intervalles de 2 caractères.

>>>str[::2]
'ACEGIKMOQSUWY'

Méthodes liées aux chaînes

Vous pouvez reconnaître qu'il émet une instruction de traitement sur ce qu'est une ** méthode **. Puisque nous avons affaire à des chaînes de caractères cette fois, il s'agit d'une commande de traitement pour la chaîne de caractères, telle que "réduire toutes les chaînes de caractères alphabétiques" et "ajouter des caractères à la fin".

Les détails de la méthode seront décrits plus loin.

Comment utiliser la méthode

Cible.Méthode()

Séparez-les par "." (Point). Il existe de nombreuses méthodes. Je voudrais en présenter quelques-uns de base.

Rendre la chaîne inférieure ou seulement le début supérieur.

<font color = # 00cc00> lower () </ font>: La chaîne de caractères peut être réduite.

>>>str.lower()
'abcdefghijklmnopqrstuvwxyz'

<font color = # 00cc00> capitalize () </ font>: Seul le début peut être mis en majuscule.

>>>str.capitalize()
'Abcdefghijklmnopqrstuvwxyz'

En passant, vous pouvez appliquer la méthode directement comme ci-dessous sans utiliser la variable str.

>>>'ABCDEFGHIJKLMNOPQRSTUVWXYZ'.capitalize()
'Abcdefghijklmnopqrstuvwxyz'

Méthode de comptage des chaînes

Cette fois, spécifiez une chaîne différente. Veuillez saisir comme suit.

>>>str1 = 'tomorrow'

<font color = # 00cc00> count (caractère à rechercher) </ font>: compte le caractère à rechercher.

>>>str1.count('o')
3

Dans l'exemple ci-dessus, le nombre de caractères "o" dans str1 est compté.

La méthode de comptage peut être spécifiée plus en détail et la plage peut être spécifiée comme suit. Dans l'exemple ci-dessous, le caractère «o» est compté dans la plage limitée au 3ème et au-dessus et avant le 5ème. (Bien sûr, c'est un compte à partir de 0.)

str1.count('o',3,5)
1

Diviser ou insérer

Spécifiez également une chaîne de caractères différente cette fois. Veuillez saisir comme suit.

>>>str2 = 'Tanjiro,Nezuko,Zenitsu,Inosuke'

<font color = # 00cc00> split (caractère divisé) </ font>: Crée une liste dans laquelle la chaîne de caractères est divisée par la chaîne de caractères spécifiée.

Les détails de la ** liste ** seront traités au chapitre 4 et plus tard, mais il est normal de reconnaître que l'exemple ci-dessus peut être divisé en quatre éléments.

Utilisez-le comme suit.

>>>str2.split(',')
['Tanjiro', 'Nezuko', 'Zenitsu', 'Inosuke']

Une chaîne de caractères stockée dans la variable str2 est divisée par la partie "," (virgule). Le résultat de sortie est entouré de [], et c'est la structure appelée liste. J'ai pu le diviser en quatre chaînes de caractères. Les détails de la liste seront décrits plus loin.

Afin d'utiliser cette liste plus tard, nous l'affecterons à une variable appelée ** ls **.

ls=str2.split(',')
print(ls)
['Tanjiro', 'Nezuko', 'Zenitsu', 'Inosuke']

<font color = # 00cc00> join (join target) </ font>: combine les éléments disjoints de la liste en une chaîne de caractères.

Faites l'inverse de la méthode de fractionnement ci-dessus. En d'autres termes, la chaîne de caractères divisée en quatre est transformée en un.

Entrez ce qui suit pour vérifier l'opération.

>>>'%'.join(L)
'Tanjiro%Nezuko%Zenitsu%Inosuke'

De cette façon, nous avons créé une liste en quatre parties en une seule chaîne en utilisant '%'.

Diverses méthodes

L'exemple présenté ci-dessus n'est qu'un exemple. Il existe un nombre infini de méthodes, et en réalité, il est plus probable que vous recherchiez la méthode sur le Web et l'appliquiez.

Vous trouverez ci-dessous un lien vers la méthode liée à la chaîne de caractères, qui est la plage de cette heure.

Méthodes liées aux chaînes

En plus de cela, il existe diverses méthodes telles que les méthodes liées à la gestion des valeurs numériques, veuillez donc les vérifier.

Diverses méthodes

Ces termes, qui sont écrits dans le lien, peuvent être difficiles à lire au début, mais il semble que vous vous y habituerez au fur et à mesure de votre progression.

finalement

Cette fois, j'ai abordé le traitement des chaînes et les méthodes. Comme il existe de nombreuses méthodes, il semble que plutôt que de mémoriser la méthode, elle sera étudiée et appliquée à partir du lien ci-dessus au besoin. En fait, c'est la même chose en pratique.

Veuillez essayer différentes méthodes.

Retournez à [Lien de la table des matières]

Recommended Posts

[Python] Chapitre 02-05 Bases des programmes Python (opérations / méthodes de chaînes de caractères)
[Python] Chapitre 02-01 Bases des programmes Python (opérations et variables)
[Python] Chapitre 02-03 Bases des programmes Python (entrée / sortie)
[Python] Chapitre 02-02 Bases des programmes Python (gestion des chaînes de caractères)
Les bases de Python ①
Bases de python ①
[Python] Chapitre 02-04 Bases du programme Python (À propos des commentaires)
[Python3] Comprendre les bases des opérations sur les fichiers
Principes de base du grattage Python
[Python of Hikari-] Chapitre 05-06 Syntaxe de contrôle (base de la notation d'inclusion)
Résumé des opérations sur les chaînes
# 4 [python] Bases des fonctions
Bases des programmes réseau?
[Hikari-Python] Chapitre 09-01 Classes (Bases des objets)
Bases de python: sortie
[Bases des statistiques mathématiques modernes avec python] Chapitre 1: Probabilité
J'ai essayé de résumer les opérations de chaîne de Python
résumé lié à l'opération de fichier python
Résumé des opérations de liste Python3
Méthodes d'objet chaîne en Python
Diverses opérations de chaîne avec Python intégré
Analyse statique des programmes Python
python: principes de base de l'utilisation de scikit-learn ①
Principes de base de Python x SIG (1)
Principes de base de Python x SIG (3)
Paiza Python Primer 5: Principes de base des dictionnaires
[Hikari-Python] Chapitre 09-03 Classe (Héritage)
Premiers pas avec Python Bases de Python
À propos de la liste de base des bases de Python
Apprenez les bases de Python ① Débutants élémentaires
[Bases des statistiques mathématiques modernes avec python] Chapitre 3: Distribution de probabilité typique
Bases du traitement d'images binarisées par Python
Python: principes de base de la reconnaissance d'image à l'aide de CNN
Les bases de Python ⑤
[Mémo d'apprentissage] Bases de la classe par python
[Python3] Comprendre les bases de Beautiful Soup
Les bases de Python ④
comparaison de chaînes python / utiliser 'list' et 'in' au lieu de '==' et 'ou'
Je ne connaissais pas les bases de Python
Les bases de Python ③
Les bases de Python
Grammaire de base de la série Python3 (chaîne de caractères)
[Principes de base de Python] Pourquoi __name__ == "__main__"
Chaîne Python
[Python] Chapitre 05-02 Syntaxe de contrôle (combinaison de conditions)
Mémo d'apprentissage Python pour l'apprentissage automatique par Chainer Chapitre 13 Bases du réseau neuronal
Les bases de Python
Les bases de Python
Les bases de Python ③
Les bases de Python ②
[Introduction au Data Scientist] Bases de Python ♬
Mémorandum du processus de suppression de chaîne python
[Bases des statistiques mathématiques modernes avec python] Chapitre 2: Distribution des probabilités et valeur attendue
Le contenu du didacticiel Python (chapitre 5) est résumé dans une puce.
Le contenu du didacticiel Python (chapitre 4) est résumé dans une puce.
Le contenu du didacticiel Python (chapitre 2) est résumé dans une puce.
Le contenu du didacticiel Python (chapitre 8) est résumé dans une puce.
Le contenu du didacticiel Python (chapitre 1) est résumé dans une puce.