Maison > Article > développement back-end > Comment utiliser re.findAll(), re.sub() et set() en Python
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.
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 'list'> # ['38', '99']
re.sub() : La fonction remplace toutes les correspondances par le texte sélectionné et renvoie le résultat.
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
# 将所有匹配到的‘数字串' 替换为 '520‘ text1 = '北京市海淀区不存在的38街区不想工作大厦99号' res = re.re(r'\d+', 520) print(type(res)) print(res) # output,返回值res结果是str # <class 'str'> # 北京市海淀区不存在的520街区不想工作大厦520号
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 'set'> # {1, 2, 3, 4}
# 计算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 'set'> # {2, 3, 4}
# 计算l1 和 l2 的并集, 并集符号 ‘|',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 'set'> # {1, 2, 3, 4, 5, 6}
# 计算差集,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 'set'> # {1}
# set内也可以传入字符串,会自动转换成list类型 text1 = '北京市海淀区海淀区不想上班不想上班' res = set(text1) print(res) # 内部元素是一个个的字,去重 且 无序 # output # <class 'set'> # {'上', '北', '班', '海', '淀', '京', '不', '想', '区', '市'}
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!