在Python字典中获取键/值对的所有组合

发布于 2021-01-29 14:10:45

这可能是一个愚蠢的问题,但是考虑到以下指示:

combination_dict = {"one": [1, 2, 3], "two": [2, 3, 4], "three": [3, 4, 5]}

我将如何获得此列表:

result_list = [{"one": [1, 2, 3], "two": [2, 3, 4]}, {"one": [1, 2, 3], "three": [3, 4, 5]}, {"two": [2, 3, 4], "three": [3, 4, 5]}]

换句话说,我希望字典中两个键/值对的所有组合都不能替换,而与顺序无关。

关注者
0
被浏览
97
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    一种解决方案是使用itertools.combinations()

    result_list = map(dict, itertools.combinations(
        combination_dict.iteritems(), 2))
    

    编辑 :由于受欢迎的需求,这里是Python 3.x版本:

    result_list = list(map(dict, itertools.combinations(
        combination_dict.items(), 2)))
    


知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看