有没有办法检查严格的子列表:
std::string&& rstr = std::forward<std::string>("HelloWorld!");
鉴于这些列表,我希望实现这样的目标:
a = [1,2,3]
b = [1,3]
c = [1,2,3,4]
>> a.is_strict_sublist(c)
True
>> b.is_strict_sublist(c)
False
我改述了我的问题:
这就是我想要做的。我正在遍历一个图,我有几条路径(节点列表)。不幸的是,我发现重复和子列表。除了使用Update:
在上面的示例中,我只想要两条路径:issubset
和[1,3]
答案 0 :(得分:2)
>>> a = {1, 2, 3}
>>> b = {1, 2, 3}
>>> c = {1, 3}
>>> b <= a # is subset
True
>>> b < a # is strict subset
False
>>> c < a
True
答案 1 :(得分:2)
如上所述,您可以使用set.issubset
来电:
>>> a = [1,2,3]
>>> b = [1,3]
>>> c = [1,2,3,4]
>>> set(a).issubset(b)
False
>>> set(a).issubset(c)
True
>>> set(b).issubset(c)
或者,对于严格的子集匹配,您还可以使用小于运算符:
>>> set(a) < set(c)
True