给定列表中的字符串,创建所有可能的组合

时间:2019-07-07 22:28:30

标签: python python-3.x list combinations itertools

你们将如何创建给定字符串的组合?

示例:我有一个名为john的同事,我想看看他和其他3个同事一起时的样子。

公司员工总数为136人。

Teammates = ['john', 'lizzy', 'tom', 'sarah', 'tiffany', 'max', 'james', 'alice', 'bob']

预期输出:

Which co worker?: John

['john', 'lizzy', 'tom', 'sarah',]
['john', 'lizzy', 'tom', 'max']
['john', 'lizzy', 'tom', 'james']
['john', 'lizzy', 'tom', 'alice']
['john', 'lizzy', 'tom', 'bob']
['john', 'tiffany', 'max', 'james']

我尝试使用itertools排列。我拥有的名称存储在sql db中。我尝试更改我的sql查询,以优先处理目标合作伙伴并针对其他合作伙伴进行迭代。

1 个答案:

答案 0 :(得分:0)

您可以为此使用itertools.combinations:

import itertools as it

def teammate_combinations(who, group_size)
    return (x for x in it.combinations(teammates, group_size) if who in x)

teammate_combinations('john', 4)