Python 如何从列表字典中获取可能的排列列表

Python 如何从列表字典中获取可能的排列列表,python,list,dictionary,permutation,Python,List,Dictionary,Permutation,我需要从这样的列表字典中得到X,Y,W avg#is X这样的输出 dict = { 'X': [65, 86, 54], 'W': [87, 99, 57], 'Y': [83, 82, 84] } 输出应该是值列表中可能的排列具有最高平均值的值,以及实现这一点所需的键的顺序,每个键只能使用一次 我尝试了一些解决方案,但没有任何效果 这是我到目前为止得到的 list = [] for element in zip(dict, *dict.values()): l

我需要从这样的列表字典中得到X,Y,W avg#is X这样的输出

dict = {
    'X': [65, 86, 54],
    'W': [87, 99, 57],
    'Y': [83, 82, 84]
}
输出应该是值列表中可能的排列具有最高平均值的值,以及实现这一点所需的键的顺序,每个键只能使用一次

我尝试了一些解决方案,但没有任何效果

这是我到目前为止得到的

list = []
for element in zip(dict, *dict.values()):
   list.append(element)
这只是创建了一个列表列表,其中键是列表的开始,后面是每个值中的所有数字,作为列表的新条目,例如: 十、 65,86,54 现在我需要找到三个键:值对的每个可能排列,其中每个值中的列表组合起来,以找到平均值最高的路由,如87、86、84

dictt = {
    'X': [65, 86, 54],
    'W': [87, 99, 57],
    'Y': [83, 82, 84]
}



perm = [max([(key,value)  for value in lst],key= lambda i : i[1])for key,lst in dictt.items()]

print(perm)

>>> [('X', 86), ('W', 99), ('Y', 84)]
这一行
[(key,value)表示lst中的值])表示dict.items()中的key,lst()
返回一个列表,其中所有值与其键配对,因此

[[('X', 65), ('X', 86), ('X', 54)], 
[('W', 87), ('W', 99), ('W', 57)], 
[('Y', 83), ('Y', 82), ('Y', 84)]]

然后我使用
max
key=lambda I:I[1]
通过使用元组中的第二个元素(在本例中为数字)来获取最大数字。

告诉我们您尝试了什么?给我们一个输出示例,提供一个示例,看看我已经更新了帖子,很抱歉这是我第一次发布到stackoverflow,希望能奏效。我真的不知道从这里继续到哪里,所以我不能添加太多信息。您需要显示所有可能的排列,还是只提供一个具有最高值排列的列表,以及
87、86、84
的最高平均值是多少