首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >获取python中的所有唯一组合

获取python中的所有唯一组合
EN

Stack Overflow用户
提问于 2018-07-06 06:46:48
回答 1查看 217关注 0票数 -2

我正在尝试弄清楚如何根据一个元素获得列表的组合。

让我们假设我有一个列表列表

代码语言:javascript
复制
    [["blue", 1], ["blue", 3], ["red", 6], ["green", 5]] 

如何在python中获得这些组合:

代码语言:javascript
复制
    [["blue", 1], ["red", 6], ["green", 5]], [["blue", 3], ["red", 6], ["green", 5]]
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-07-06 06:58:44

这可以在groupbyproduct的帮助下完成

代码语言:javascript
复制
data = [["blue", 1], ["blue", 3], ["red", 6], ["green", 5]]
groups = []
for k, g in itertools.groupby(data, key=lambda item: item[0]):
    groups.append(list(g))
print(list(itertools.product(*groups)))
# [(['blue', 1], ['red', 6], ['green', 5]), (['blue', 3], ['red', 6], ['green', 5])]

# just for understanding how it works:
print(groups)
# [[['blue', 1], ['blue', 3]], [['red', 6]], [['green', 5]]]
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51200849

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档