順序集合がより大きな順序集合のサブセットであるかどうかをテストしたいと思います。タプルを使用しましたitertools.combinations
:
def subset_test(a, b):
return a in itertools.combinations(b, len(a))
例えば、
>>> subset_test((0, 1, 2), (0, 3, 1, 4, 2))
True
>>> subset_test((0, 1, 2), (0, 3, 2, 4, 1))
False
動作しますが、大きなタプルをテストすると遅くなります。