开发者社区 问答 正文

使用itertools无法获得正确的组合

我正在尝试使用itertools来获得组合,但是我没有以我想要的格式获得组合。

import itertools

dict = {(1,):1, (2,):3, (3,):1}
combo = list(itertools.combinations(dict.keys(),2))
print(combo)

输出:

[(('1',), ('2',)), (('1',), ('3',)), (('2',), ('3',))]

我想要的输出:

[('1','2',), ('1','3',),('2','3',)]

问题来源:stackoverflow

展开
收起
is大龙 2020-03-24 10:03:58 273 分享 版权
1 条回答
写回答
取消 提交回答
  • 预期输出,因为您的dict键是元组。您可以尝试以下方法:

    >>> combo = list(itertools.combinations((key[0] for key in dict.keys()), 2))
    >>> print(combo)
    [(1, 2), (1, 3), (2, 3)]
    

    这将从每个字典键中提取第一个([0])元素。

    回答来源:stackoverflow

    2020-03-24 10:04:05
    赞同 展开评论
问答地址: