我试图在Python中交叉frozensets,但没有得到想要的结果。我的交集数组LCC有100个字符串。
LCC = ['A','E...']
fs1 = frozenset('A')
fs2 = frozenset('E830')
fs1.intersection(LCC)
fs2.intersection(LCC)研究结果如下:
frozenset({'A'})
frozenset()我希望第二个函数产生冻结({‘E830’})
有人知道如何使用通配符吗?还是不可能,因为传递给LCC的字符串是字面上解释通配符的?
发布于 2022-11-22 01:57:54
我猜你的“.”是一个通配符模式,意思是长度为3的任何字符。(正则表达式语法)
您可以使用这样的正则表达式。
import re
LCC = ['A', 'E...']
fs = frozenset({'A', 'E830', 'E2'})
re_patterns = [re.compile(pattern) for pattern in LCC]
intersection = {e for e in fs for pattern in re_patterns
if re.fullmatch(pattern, e)}
print(intersection)这将输出以下内容。
{'A', 'E830'}https://stackoverflow.com/questions/74525886
复制相似问题