我需要用元素列表过滤itertool.combinations
对象
这是迭代器:
from itertools import combinations
items = ['b1', 'b2', 'b3', 'b4', 'b5', 'b6', 'b7', 'b8', 'b9', 'b10', 'm1', 'm2', 'm3', 'm4', 'm5']
comb = combinations(items, 3)
现在,我可以用
for i in comb:
print(i)
我需要的是一个包含['m1', 'm2', 'm3', 'm4', 'm5']
的所有组合的列表
我试着转换成这样的东西
if 'm1' in ('m1', 'm2', 'm4'):
... print('ok')
...
ok
进入这个
ms1 = list(filter(lambda x: 'm1' in x, comb)) // empty list
ms2 = list(filter(lambda x: ['m1', 'm2', 'm3', 'm4', 'm5'] in x, comb)) // empty list
我需要的是得到所有的组合
假设您只想创建包含目标项列表(
['m1', 'm2', 'm3', 'm4', 'm5']
)中任何一个值的组合的列表,那么使用集合交集可能是合适的例如:
相关问题 更多 >
编程相关推荐