Maison > développement back-end > Tutoriel Python > Exemple de tutoriel de fonction de chaîne de partition en Python

Exemple de tutoriel de fonction de chaîne de partition en Python

零下一度
Libérer: 2017-05-22 17:08:37
original
2587 Les gens l'ont consulté

Dans la version 2.5, a ajouté un nouveau et ajouté une fonction appelée partition. Que peut-il faire ? Donnez un petit exemple :

>>> 'http://www.donews.net/limodou'.partition('://')
('http', '://', ​​​​'www.donews.net/limodou')
>>> 'file:/a.html'.partition('://')
('fichier :/ a.html', ”, ”)


Comme le montre le premier exemple, il est utilisé pour diviser la chaîne en fonction du délimiteur spécifié Si le. string Contient le délimiteur spécifié, renvoie un tuple à 3 éléments, le premier est la sous-chaîne à gauche du délimiteur, le second est le délimiteur lui-même et le troisième est la sous-chaîne à droite du délimiteur. Le deuxième exemple montre que si le délimiteur spécifié est introuvable, le retour est toujours un tuple à 3 éléments, le premier est la chaîne entière et les deuxième et troisième sont des chaînes vides.

Alors quelqu'un pourrait se demander quelle est la différence entre cela et la scission (1er septembre) ? Tout d'abord, split ne peut pas renvoyer une valeur de retour de longueur fixe. Il renvoie une list. S'il est trouvé, il renvoie une liste à 2 éléments. S'il n'est pas trouvé, il renvoie un 1-. liste d'éléments, telle que :

>>> ‘a.b.c’.split(‘,’, 1)
['a.b.c']
>>> ‘a.b.c’.split(‘.’, 1)
['a', 'b.c']
Copier après la connexion

De plus, il ne renvoie pas le délimiteur s'il est trouvé.

Dans certains cas, partition(sep) et rpartition(sep) (correspondant de droite à gauche) ont des fonctions similaires à split(sep, 1) et rsplit(sep, 1). Cependant, la partition est en fait créée pour remplacer find et index, et non divisée. Dans de nombreux cas, nous devons d’abord trouver un emplacement, puis le diviser. Il est beaucoup plus pratique d'utiliser une partition. Par exemple :

>>> a = ‘http://www.donews.net’
>>> pos = a.find(‘://’)
>>> if pos > -1:
…     print a[:pos], a[pos+1:]
http www.donews.net
Copier après la connexion

N'est-il pas plus simple d'utiliser la partition :

>>> a = ‘http://www.donews.net’
>>> left, sep, right = a.partition(‘://’)
>>> print left, right
http www.donews.net
Copier après la connexion

.

Parallèlement, dans la version 2.5, les débuts avec et les fins avec ont changé, et leur premier paramètre peut être un tuple. C'est très pratique pour juger plusieurs situations. Par exemple, si vous souhaitez déterminer le suffixe du nom de fichier, alors qu'il ne prenait en charge qu'une seule valeur à l'origine, vous devrez peut-être d'abord le diviser, puis déterminer qu'il n'est pas nécessaire de terminer par, par exemple :

>>> a = ‘a.gif’
>>> import os.path
>>> ext = os.path.splitext(a)[1]
>>> if ext in ['.gif', '.png', '.bmp']:
…     print ‘found’
…
found
Copier après la connexion

. Mais maintenant vous pouvez :

>>> a = ‘a.gif’
>>> if a.endswith((‘.gif’, ‘png’, ‘.bmp’)):
…     print ‘found’
…
found
Copier après la connexion

N'est-ce pas beaucoup plus simple ? Notez que le tuple ci-dessus ne fonctionne pas si je le remplace par une liste. Cela semble obligatoire.

Beaucoup de choses intéressantes vous attendent, vous et moi, à découvrir.

[Recommandations associées]

1. Partagez une explication détaillée de la fonction de chaîne (partition) en Python

2. Partagez un exemple de code d'une fonction de chaîne (partition)

3 Une brève analyse de l'exemple de code de la table de données MySQL. technologie de partitionnement PARTITION

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!

Étiquettes associées:
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal