我想制作带有两个列表的dictionary,但希望在所有情况下都制作dictionary。例如
list1 = [a,b,c]
list2 = [up,down]
# output
dic1 = [a:up, b:up, c:up]
dic2 = [a:down, b:up, c:up]
dic3 = [a:up, b:down, c:up]
.
.
.
我知道如何用zip制作一个字典输出,但很难找到制作所有大小写字典的方法。
这可能有助于
import itertools
list1=['a','b','c']
list2=['Up','Down']
ListofDict = [dict(zip(x,list2)) for x in itertools.permutations(list1,len(list2))]
for _ in ListofDict:
print(_)
输出:
{'a': 'Up', 'b': 'Down'}
{'a': 'Up', 'c': 'Down'}
{'a': 'Down', 'b': 'Up'}
{'b': 'Up', 'c': 'Down'}
{'a': 'Down', 'c': 'Up'}
{'c': 'Up', 'b': 'Down'}