har*_*rry 0 python algorithm list set python-3.x
迭代subset_candidates并检查它是否是groupsPython中任何集合的子集的有效方法是什么?
下面的示例只有几个项目,但我希望有 10k 个 subset_candidates 和 10k 个组,所以我想知道有效的方法。
也许networkX是解决方案,但我不知道应该对这种情况应用哪种方法。
subset_candidates = [
[2, 3], # true (subset of groups[0])
[10, 12], # false
[100, 110], # true (subset of groups[2])
[1, 10, 100], # false
]
groups = [
[1,2,3],
[10,11,13],
[100, 105, 110],
]
Run Code Online (Sandbox Code Playgroud)
你可以试试这个使用 set.issubset
s=map(set,subset_candidates)
g=list(map(set,groups))
for subset in s:
print(any(subset.issubset(i) for i in g))
Run Code Online (Sandbox Code Playgroud)
输出
True
False
True
False
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
65 次 |
| 最近记录: |