如何按一键对字典值进行排序?

Dar*_*r34 2 python dictionary python-3.x

全部,

我正在努力通过单个键对包含每个键的多个值的字典进行排序。我有以下字典

{ 
     'time': [2, 1, 3], 
     'x_coordinates': [3, 5, 4], 
     'y_coordinates': [6, 7, 8]
}
Run Code Online (Sandbox Code Playgroud)

并希望将以下内容作为输出:

{
     'time': [1, 2, 3], 
     'x_coordinates': [5, 3, 4], 
     'y_coordinates': [7, 6, 8]
}
Run Code Online (Sandbox Code Playgroud)

我怎样才能以最有效的方式实现这一目标?我曾尝试在互联网上寻求建议,但没有关于按单个键对多值键进行排序的内容。任何帮助将不胜感激。

rus*_*ro1 5

d = {'time': [2, 1, 3], 'x_coordinates': [3, 5, 4], 'y_coordinates': [6, 7, 8]}

key = 'time'
index = [f for f, _ in sorted(enumerate(d[key]), key=lambda x : x[1])]
d = {k : [v[i] for i in index] for k, v in d.items()}
Run Code Online (Sandbox Code Playgroud)

输出:

{'time': [1, 2, 3], 'x_coordinates': [5, 3, 4], 'y_coordinates': [7, 6, 8]}
Run Code Online (Sandbox Code Playgroud)

  • 我喜欢这个!我可以在此基础上继续发展:) (2认同)