首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带通配符的Frozenset交集

带通配符的Frozenset交集
EN

Stack Overflow用户
提问于 2022-11-21 23:21:36
回答 1查看 30关注 0票数 0

我试图在Python中交叉frozensets,但没有得到想要的结果。我的交集数组LCC有100个字符串。

代码语言:javascript
复制
LCC = ['A','E...']
fs1 = frozenset('A')
fs2 = frozenset('E830')
fs1.intersection(LCC)
fs2.intersection(LCC)

研究结果如下:

代码语言:javascript
复制
frozenset({'A'})
frozenset()

我希望第二个函数产生冻结({‘E830’})

有人知道如何使用通配符吗?还是不可能,因为传递给LCC的字符串是字面上解释通配符的?

EN

回答 1

Stack Overflow用户

发布于 2022-11-22 01:57:54

我猜你的“.”是一个通配符模式,意思是长度为3的任何字符。(正则表达式语法)

您可以使用这样的正则表达式。

代码语言:javascript
复制
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)

这将输出以下内容。

代码语言:javascript
复制
{'A', 'E830'}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74525886

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档