繁体   English   中英

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

[英]Creating all possible combinations given a string against a list

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

示例:我有一个名为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查询以对目标合作者进行优先级排序,并针对其他合作者进行迭代。

您可以为此使用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)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM