Maison > développement back-end > Tutoriel Python > Comment utiliser re.findAll(), re.sub() et set() en Python

Comment utiliser re.findAll(), re.sub() et set() en Python

王林
Libérer: 2023-05-16 10:19:05
avant
1116 Les gens l'ont consulté

1. re.findall()

re.findall() : La fonction renvoie une liste contenant toutes les correspondances. Renvoie toutes les chaînes correspondant au modèle dans la chaîne, sous forme de liste/tableau.

Comment utiliser re.findAll(), re.sub() et set() en Python

Il ressort du code du prototype de la fonction que la fonction findall() a trois paramètres :

1 motif : la "chaîne de modèle" dans l'expression régulière

2. traité (trouver Remplacer);

3. flags : paramètre facultatif, indiquant le mode de correspondance utilisé lors de la compilation (comme ignorer la casse, le mode multi-ligne, etc.), sous forme numérique, la valeur par défaut est 0

# 示例代码
import re
text1 = '北京市海淀区不存在的38街区不想工作大厦99号'
res = re.findall(r'\d+', text1)
print(type(res))
print(res)
# output
# <class &#39;list&#39;>
# [&#39;38&#39;, &#39;99&#39;]
Copier après la connexion

2. re.sub ()

re.sub() : La fonction remplace toutes les correspondances par le texte sélectionné et renvoie le résultat.

Comment utiliser re.findAll(), re.sub() et set() en Python

Il ressort du code du prototype de la fonction que la fonction re.sub() a cinq paramètres :

1. pattern : la "chaîne de modèle" dans l'expression régulière

2. être remplacé par une chaîne, c'est-à-dire remplacer le modèle correspondant par repl ; cela peut être une fonction

3 : la chaîne d'origine qui doit actuellement être traitée (rechercher et remplacer) ; paramètre, indiquant ce qui doit être remplacé Le nombre maximum de fois doit être un entier non négatif ; la valeur par défaut est 0, c'est-à-dire que toutes les sous-chaînes correspondantes sont remplacées

5 flags : paramètre facultatif, indiquant le mode de correspondance utilisé ; lors de la compilation (comme ignorer la casse, le mode multiligne, etc.), sous forme numérique, la valeur par défaut est 0

# 将所有匹配到的‘数字串&#39; 替换为 &#39;520‘
text1 = &#39;北京市海淀区不存在的38街区不想工作大厦99号&#39;
res = re.re(r&#39;\d+&#39;, 520)
print(type(res))
print(res)
# output,返回值res结果是str
# <class &#39;str&#39;>
# 北京市海淀区不存在的520街区不想工作大厦520号
Copier après la connexion

3 set()

set() : L'une des fonctions intégrées de Python, crée un fichier non ordonné. ensemble d’éléments non répétitifs. Prend en charge le calcul de l'intersection, de la différence et de l'union.

# 为list数组l1 去重
l1 = [1, 1, 2, 2, 2, 3, 4]
s1 = set(l1)
print(type(s1))
print(s1)
# output,返回类型是 set
# <class &#39;set&#39;>
# {1, 2, 3, 4}
Copier après la connexion
# 计算l1 和 l2 的交集
l1 = [1, 1, 2, 2, 2, 3, 4]
l2 = [2, 3, 3, 4, 5, 6, 6]
s1 = set(l1)
s2 = set(l2)
u = s1 & s2
print(type(u))
print(u)
# output,返回结果类型set
# <class &#39;set&#39;>
# {2, 3, 4}
Copier après la connexion
# 计算l1 和 l2 的并集, 并集符号 ‘|&#39;,intersection
l1 = [1, 1, 2, 2, 2, 3, 4]
l2 = [2, 3, 3, 4, 5, 6, 6]
s1 = set(l1) # {1, 2, 3, 4}
s2 = set(l2) # {2, 3, 4, 5, 6}
u = s1 | s2
print(type(u))
print(u)
# output,返回结果类型set, 计算 {1, 2, 3, 4} 和 {2, 3, 4, 5, 6} 的并集
# <class &#39;set&#39;>
# {1, 2, 3, 4, 5, 6}
Copier après la connexion
# 计算差集,diff
l1 = [1, 1, 2, 2, 2, 3, 4]
l2 = [2, 3, 3, 4, 5, 6, 6]
s1 = set(l1) # {1, 2, 3, 4}
s2 = set(l2) # {2, 3, 4, 5, 6}
print(s2)
u = s1 - s2
print(type(u))
print(u)
# output,返回结果是set
# <class &#39;set&#39;>
# {1}
Copier après la connexion
# set内也可以传入字符串,会自动转换成list类型
text1 = &#39;北京市海淀区海淀区不想上班不想上班&#39;
res = set(text1)
print(res) # 内部元素是一个个的字,去重 且 无序
# output
# <class &#39;set&#39;>
# {&#39;上&#39;, &#39;北&#39;, &#39;班&#39;, &#39;海&#39;, &#39;淀&#39;, &#39;京&#39;, &#39;不&#39;, &#39;想&#39;, &#39;区&#39;, &#39;市&#39;}
Copier après la connexion

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:yisu.com
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