Maison  >  Article  >  développement back-end  >  Explication détaillée de la façon d'utiliser strip() et split() en python

Explication détaillée de la façon d'utiliser strip() et split() en python

Y2J
Y2Joriginal
2017-05-18 14:31:113577parcourir

Cet article présente principalement l'explication détaillée et des exemples de la fonction python strip() et de la fonction split(). Les amis dans le besoin peuvent se référer à

la fonction python strip() et split() Explication détaillée. et des exemples de fonctions

Je n'ai jamais réussi à distinguer les fonctions de strip et split. En fait, strip signifie supprimer ; Par conséquent, cela signifie également que les deux fonctions sont complètement différentes. Strip peut supprimer certains caractères de la chaîne , tandis que split divise la chaîne en fonction des caractères spécifiés. Parlons de ces deux fonctions en détail ci-dessous,

1 Introduction à la fonction Python strip()

Prototype de fonction

Déclaration : s est une chaîne , rm est la séquence de caractères à supprimer

s.strip(rm) Supprimez les caractères au début et à la fin de la chaîne s, qui se trouvent dans la séquence de suppression rm

s. lstrip(rm) Supprime le caractère s Les caractères de la séquence de suppression rm au début de la chaîne

s.rstrip(rm) Supprime les caractères de la séquence de suppression rm à la fin de la chaîne s

Remarque :

(1) Lorsque rm est vide, les caractères d'espacement (y compris 'n', 'r', 't', ' ') sont supprimés par défaut.

(2) Le rm ici est supprimé La séquence est supprimée tant que les caractères sur le bord (début ou fin) sont dans la séquence de suppression.

Par exemple,

>>> a = '  123' 
>>> a 
'  123' 
>>> a.strip() 
'123'

(2) La séquence de suppression rm consiste ici à supprimer les caractères sur le bord (début ou fin) tant qu'ils se trouvent dans la séquence de suppression.

Par exemple,

>>> a = '123abc' 
>>> a.strip('21') 
'3abc' 
>>> a.strip('12') 
'3abc'

Le résultat est le même.

2 Introduction à la fonction python split()

Explication :

Il n'y a pas de type de caractère en Python Autrement dit, il n'y a que la chaîne Le caractère mentionné ici est une chaîne ne contenant qu'un seul caractère ! ! !

La raison pour laquelle c'est écrit ainsi est juste pour la commodité de la compréhension, rien de plus.

(1) Divisé par un certain caractère, tel que '.'

>>> str = ('www.google.com') 
>>> print str 
www.google.com 
>>> str_split = str.split('.') 
>>> print str_split 
['www', 'google', 'com']

(2) Divisé par un certain caractère et divisé n fois. Par exemple, appuyez sur '.' pour diviser une fois

>>> str_split = str.split('.',1) 
>>> print str_split 
['www', 'google.com']

(3) Vous pouvez également ajouter une expression régulière après la fonction split(), par exemple :

>>> str_split = str.split('.')[0] 
>>> print str_split 
www

split Après séparation, c'est une liste, [0] signifie prendre le premier élément

>>> str_split = str.split('.')[::-1] 
>>> print str_split 
['com', 'google', 'www'] 
>>> str_split = str.split('.')[::] 
>>> print str_split 
['www', 'google', 'com']

est disposé dans l'ordre inverse, [::] est disposé dans l'ordre positif

>>> str = str + '.com.cn' 
>>> str 
'www.google.com.com.cn' 
>>> str_split = str.split('.')[::-1] 
>>> print str_split 
['cn', 'com', 'com', 'google', 'www'] 
>>> str_split = str.split('.')[:-1] 
>>> print str_split 
['www', 'google', 'com', 'com']

du premier Du début à la fin de l'élément, le dernier élément est supprimé.

Une des applications typiques de la fonction split(), l'échange de numéro IP :

# ip ==> numéro

>>> ip2num = lambda x:sum([256**j*int(i) for j,i in enumerate(x.split('.')[::-1])]) 
>>> ip2num('192.168.0.1') 
3232235521

# numéro ==> ip # Plage de nombres [0, 255^4]

>>> num2ip = lambda x: '.'.join([str(x/(256**i)%256) for i in range(3,-1,-1)]) 
>>> num2ip(3232235521) 
'192.168.0.1'

Enfin, comment python convertit-il un entier vers et depuis une adresse IP ?

>>> import socket 
>>> import struct 
>>> int_ip = 123456789 
>>> socket.inet_ntoa(struct.pack(‘I',socket.htonl(int_ip)))#整数转换为ip地址 
‘7.91.205.21' 
>>> str(socket.ntohl(struct.unpack(“I”,socket.inet_aton(“255.255.255.255″))[0]))#ip地址转换为整数 
‘4294967295'

[Recommandations associées]

1 Tutoriel vidéo gratuit Python

2 Explication détaillée des scénarios d'utilisation de strip. fonction en python

3. Les pièges peu connus de strip() en python

4. Les merveilleuses utilisations de la fonction strip(). en Python que vous ne connaissez pas

5 L'introduction de base à Python vous apprend à utiliser la fonction strip() pour supprimer les espaces nrt

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!

Déclaration:
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