Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Cara menggunakan re.findAll(), re.sub(), dan set() dalam Python

Cara menggunakan re.findAll(), re.sub(), dan set() dalam Python

王林
王林ke hadapan
2023-05-16 10:19:051087semak imbas

1. re.findall()

re.findall(): Fungsi mengembalikan senarai yang mengandungi semua padanan. Mengembalikan semua corak padanan rentetan dalam rentetan, dalam bentuk senarai/tatasusunan.

Cara menggunakan re.findAll(), re.sub(), dan set() dalam Python

Seperti yang boleh dilihat daripada kod prototaip fungsi, fungsi findall() mempunyai tiga parameter:

1 corak: ‘ ungkapan ’

2: rentetan asal yang perlu diproses pada masa ini (cari dan gantikan

3: parameter pilihan, menunjukkan mod pemadanan yang digunakan semasa penyusunan seperti mengabaikan penulisan saiz, mod berbilang baris, dsb.), dalam bentuk angka, lalainya ialah 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;]

2.re.sub()

re.sub(): fungsi menggantikan semua item yang sepadan dengan teks yang dipilih dan mengembalikan hasilnya.

Cara menggunakan re.findAll(), re.sub(), dan set() dalam Python

Seperti yang boleh dilihat daripada kod prototaip fungsi, fungsi re.sub() mempunyai lima parameter:

1 corak: ‘ ungkapan biasa String’;

2 repl: rentetan yang perlu diganti, iaitu menggantikan corak yang dipadankan dengan repl; perlu diproses ( Cari dan gantikan) rentetan asal; iaitu semua subrentetan yang dipadankan digantikan ;

5 bendera: parameter pilihan, menunjukkan mod pemadanan yang digunakan semasa penyusunan (seperti mengabaikan huruf besar, mod berbilang baris, dll.), dalam bentuk angka. lalai ialah 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号

3. set ()

set(): Salah satu fungsi terbina dalam python, mencipta set tidak tertib elemen tidak berulang. Menyokong pengiraan persilangan, perbezaan dan kesatuan.

# 为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}
# 计算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}
# 计算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}
# 计算差集,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}
# 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;}

Atas ialah kandungan terperinci Cara menggunakan re.findAll(), re.sub(), dan set() dalam Python. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:yisu.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam