Combine Python Dictionary Permutations into List of Dictionaries

后端 未结 2 640
误落风尘
误落风尘 2020-12-01 09:06

Given a dictionary that looks like this:

{
    \'Color\': [\'Red\', \'Yellow\'],
    \'Size\': [\'Small\', \'Medium\', \'Large\']
}

How can

2条回答
  •  旧时难觅i
    2020-12-01 10:02

    You can obtain that result doing this:

    x={'Color': ['Red', 'Yellow'], 'Size': ['Small', 'Medium', 'Large']}
    keys=x.keys()
    values=x.values()
    
    matrix=[]
    for i in range(len(keys)):
         cur_list=[]
         for j in range(len(values[i])):
                 cur_list.append({keys[i]: values[i][j]})
         matrix.append(cur_list)
    
    y=[]
    for i in matrix[0]:
         for j in matrix[1]:
                 y.append(dict(i.items() + j.items()))
    
    print y
    

    result:

    [{'Color': 'Red', 'Size': 'Small'}, {'Color': 'Red', 'Size': 'Medium'}, {'Color': 'Red', 'Size': 'Large'}, {'Color': 'Yellow', 'Size': 'Small'}, {'Color': 'Yellow', 'Size': 'Medium'}, {'Color': 'Yellow', 'Size': 'Large'}]
    

提交回复
热议问题