lyhang
2023-02-20 13:25:42 +08:00
import re
def is_subset(A1, B1):
"""
判断 A1 是否完全是 B1 的子集
参数:
A1: 列表,表示数据集合 A1
B1: 列表,表示数据集合 B1
返回值:
如果 A1 完全是 B1 的子集,返回 True ,否则返回 False
"""
# 将 B1 中的所有正则表达式编译成 pattern 对象
patterns = [re.compile(b) for b in B1]
# 遍历 A1 中的所有元素,看是否能被 B1 中的正则表达式匹配
for a in A1:
matched = False
for p in patterns:
if p.match(a):
matched = True
break
# 如果 A1 中的某个元素不能被 B1 中的任何正则表达式匹配,那么 A1 不是 B1 的子集
if not matched:
return False
# 如果 A1 中的所有元素都能被 B1 中的正则表达式匹配,那么 A1 是 B1 的子集
return True