Filter 如何筛选出组合?

Filter 如何筛选出组合?,filter,combinations,Filter,Combinations,我带着另一个问题回来了XD 好的,这样吧; 我已经有了生成我想要的所有组合集的代码。 现在,我想过滤掉(删除)那些将匹配这个集合中3个或更多的组合D={a,g,l,m} 或者你可以说,我希望出现的唯一组合是那些在集合D={a,g,l,m}中匹配2或更少(包括0匹配)的组合 顺便说一下,这是密码 A = ["a", "b", "c", "d", "e"] B = ["f", &q

我带着另一个问题回来了XD 好的,这样吧; 我已经有了生成我想要的所有组合集的代码。 现在,我想过滤掉(删除)那些将匹配这个集合中3个或更多的组合D={a,g,l,m} 或者你可以说,我希望出现的唯一组合是那些在集合D={a,g,l,m}中匹配2或更少(包括0匹配)的组合 顺便说一下,这是密码

A = ["a", "b", "c", "d", "e"]
B = ["f", "g", "h", "i"]
C = ["k", "l", "m", "n"]

import itertools
import csv

# combo of each group
C1 = list(itertools.combinations(A, 1))
C2 = list(itertools.combinations(B, 2))
C3 = list(itertools.combinations(C, 2))

with open('file.csv', 'w', newline='') as csvfile:
    w = csv.writer(csvfile, delimiter=',')

    # combine all combo into carterisian product
    for a, b, c in list(itertools.product(C1, C2, C3)):
        w.writerow([a[0], b[0], b[1], c[0], c[1]])
        # print(a[0],b[0],b[1],c[0],c[1])