tokens = ["Afoo", "fooB", "Abar", "Bbar", "barA", "barBX", "barBY"]
foo = [a for a in tokens if "foo" in a]
barB = [a for a in tokens if "barB" in a]
x = [(a, b) for a in foo for b in barB]
print(x)
from itertools import product
def complete(tokens, searches):
# search
matches = [[t for t in tokens if s in t] for s in searches]
# find all combinations https://docs.python.org/3/library/itertools.html
return product(*matches)
tokens = ["Afoo", "fooB", "Abar", "Bbar", "barA", "barBX", "barBY"]
search = ["foo", "barB"]
combinations = list(complete(tokens, search)
我想到了这个解决办法
我得到了所有的食物和倒刺 然后我把这两张单子合起来
更快
据我所知,没有这样的函数,但这是使用循环的一个简单方法:
当然不是超级高效!可以使用生成器执行相同的操作:
使用itertools将其分解为搜索步骤和“查找组合”步骤
相关问题 更多 >
编程相关推荐