How to use re.findAll(), re.sub(), and set() in Python
1. re.findall()
re.findall(): The function returns a list containing all matching items. Returns all strings matching pattern in string, in the form of list/array.
It can be seen from the function prototype code that the findall() function has three parameters:
1. pattern: the ‘ pattern string in the regular expression ’ ;
2. string: the original string that currently needs to be processed (search and replace);
3. flags: optional parameter, indicating the matching mode used during compilation (such as ignoring size writing, multi-line mode, etc.), in numeric form, the default is 0
# 示例代码 import re text1 = '北京市海淀区不存在的38街区不想工作大厦99号' res = re.findall(r'\d+', text1) print(type(res)) print(res) # output # <class 'list'> # ['38', '99']
2. re.sub()
re.sub(): The function replaces all matching items with the selected text and returns the result.
It can be seen from the function prototype code that the re.sub() function has five parameters:
1. pattern: ‘ pattern in regular expressions String’ ;
2. repl: the string that needs to be replaced, that is, replacing the matched pattern with repl; it can be a function;
3. string: currently needs to be processed ( Find and replace) the original string; ;
5. flags: Optional parameter, indicating the matching mode used during compilation (such as ignoring case, multi-line mode, etc.), in numeric form, the default is 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(): One of python’s built-in functions, creates an unordered set of non-repeating elements. Supports calculation of intersection, difference, and 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'> # {'上', '北', '班', '海', '淀', '京', '不', '想', '区', '市'}
The above is the detailed content of How to use re.findAll(), re.sub(), and set() in Python. For more information, please follow other related articles on the PHP Chinese website!

Pythonusesahybridapproach,combiningcompilationtobytecodeandinterpretation.1)Codeiscompiledtoplatform-independentbytecode.2)BytecodeisinterpretedbythePythonVirtualMachine,enhancingefficiencyandportability.

ThekeydifferencesbetweenPython's"for"and"while"loopsare:1)"For"loopsareidealforiteratingoversequencesorknowniterations,while2)"while"loopsarebetterforcontinuinguntilaconditionismetwithoutpredefinediterations.Un

In Python, you can connect lists and manage duplicate elements through a variety of methods: 1) Use operators or extend() to retain all duplicate elements; 2) Convert to sets and then return to lists to remove all duplicate elements, but the original order will be lost; 3) Use loops or list comprehensions to combine sets to remove duplicate elements and maintain the original order.

ThefastestmethodforlistconcatenationinPythondependsonlistsize:1)Forsmalllists,the operatorisefficient.2)Forlargerlists,list.extend()orlistcomprehensionisfaster,withextend()beingmorememory-efficientbymodifyinglistsin-place.

ToinsertelementsintoaPythonlist,useappend()toaddtotheend,insert()foraspecificposition,andextend()formultipleelements.1)Useappend()foraddingsingleitemstotheend.2)Useinsert()toaddataspecificindex,thoughit'sslowerforlargelists.3)Useextend()toaddmultiple

Pythonlistsareimplementedasdynamicarrays,notlinkedlists.1)Theyarestoredincontiguousmemoryblocks,whichmayrequirereallocationwhenappendingitems,impactingperformance.2)Linkedlistswouldofferefficientinsertions/deletionsbutslowerindexedaccess,leadingPytho

Pythonoffersfourmainmethodstoremoveelementsfromalist:1)remove(value)removesthefirstoccurrenceofavalue,2)pop(index)removesandreturnsanelementataspecifiedindex,3)delstatementremoveselementsbyindexorslice,and4)clear()removesallitemsfromthelist.Eachmetho

Toresolvea"Permissiondenied"errorwhenrunningascript,followthesesteps:1)Checkandadjustthescript'spermissionsusingchmod xmyscript.shtomakeitexecutable.2)Ensurethescriptislocatedinadirectorywhereyouhavewritepermissions,suchasyourhomedirectory.


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

ZendStudio 13.5.1 Mac
Powerful PHP integrated development environment

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Dreamweaver Mac version
Visual web development tools

Dreamweaver CS6
Visual web development tools

Safe Exam Browser
Safe Exam Browser is a secure browser environment for taking online exams securely. This software turns any computer into a secure workstation. It controls access to any utility and prevents students from using unauthorized resources.
