How to generate all combination from values in dict of lists in Python

后端 未结 5 1474
野的像风
野的像风 2020-12-09 03:22

I would like to generate all combinations of values which are in lists indexed in a dict:

{\'A\':[\'D\',\'E\'],\'B\':[\'F\',\'G\',\'H\'],\'C\':[\'I\',\'J\']}         


        
5条回答
  •  自闭症患者
    2020-12-09 03:48

    import itertools as it
    
    my_dict={'A':['D','E'],'B':['F','G','H'],'C':['I','J']}
    allNames = sorted(my_dict)
    combinations = it.product(*(my_dict[Name] for Name in allNames))
    print(list(combinations))
    

    Which prints:

    [('D', 'F', 'I'), ('D', 'F', 'J'), ('D', 'G', 'I'), ('D', 'G', 'J'), ('D', 'H', 'I'), ('D', 'H', 'J'), ('E', 'F', 'I'), ('E', 'F', 'J'), ('E', 'G', 'I'), ('E', 'G', 'J'), ('E', 'H', 'I'), ('E', 'H', 'J')]
    

提交回复
热议问题