【发布时间】:2020-11-15 19:46:49
【问题描述】:
我想找到构成列表A 的列表B 的最少项目。让我们假设A=['abcdef'] 和B=['abc','ad','adef','adef','bdf']。然后因为索引为 0 和 2 的项目包含列表 A 的所有字母,所以答案将是 2。我使用该组合来查找 B 的所有可能组合。但我不确定如何继续。似乎最优化的方式是蛮力。
A=['abcdef']
B=['abc','ad','adef','adef','bdf']
for L in range(0, len(B)+1):
for subset in itertools.combinations(B, L):
if subset==A:
print(subset)
【问题讨论】:
-
当列表 A 中包含多个项目时,预期的行为是什么?
-
列表A中总是有一项
标签: python string list combinations brute-force