是字符串的集合,是另一组的所有子串

时间:2016-09-14 07:16:58

标签: python python-3.x

我有很多字符串集,希望根据子串集测试它们。我希望确定哪些集合包含所有子字符串。

set1 = {'A123', 'B234', 'C345'}
set2 = {'A123', 'F234', 'H345'}
substring_set1 = {'A', 'B'}

在伪代码中是这样的:

all(substring_set1.areSubstrings(set1))
True

all(substring_set1.areSubstrings(set2)
False

或者类似的东西可能吗?

if all(x in v for v in set1 for x in substring_set1):
    do stuff

我想我可以通过一系列for循环来解决它,但我觉得可能有一种更清洁的方法。有什么建议?谢谢!

1 个答案:

答案 0 :(得分:3)

以下方法对我来说看起来很干净:

>>> all(any(x in v for v in set1) for x in substring_set1)
True
>>> all(any(x in v for v in set2) for x in substring_set1)
False