Python中可能的图像组合

时间:2016-03-24 12:43:47

标签: python

我正在使用Python" itertools.combinations"制作我所拥有的图像的可能组合,并进行它们之间的相应比较。但是,使用此功能,例如给定4张图像(A,B,C,D),我得到AB AC AD BC BD CD组合。

我想替换Python" itertools.combinations"通过一个函数,它只给我一个图像与其余图像的所有可能组合,因此如果A是所选图像,我想只有AB,AC,AD。你知道我怎么能拥有它吗?

2 个答案:

答案 0 :(得分:0)

听起来你只是想要这样的东西:

def my_combinations(first, *others):
    for other in others:
        yield first + other

示例:

combs = my_combinations('A', 'B', 'C', 'D')
print combs
print list(combs)

输出:

<generator object my_combinations at 0x105926230>
['AB', 'AC', 'AD']

答案 1 :(得分:0)

您可以将其中一张图片与其他图片分开,然后按照您的需要进行组合。在这种情况下,只使用列表理解:

images = ('A','B','C','D')

first = images[0]  # just A
others = images[1:]  # just B,C,D

print([(first, img) for img in others])
# [('A', 'B'), ('A', 'C'), ('A', 'D')]