gpt4 book ai didi

python - 在 python 中使用逆向字典简化代码

转载 作者:行者123 更新时间:2023-12-05 09:35:18 26 4
gpt4 key购买 nike

考虑一些映射 my_map 定义一些键的顺序,一些字典 my_dict 将相同的键映射到一些值:

my_map = {'x' : 2, 'y' : 0, 'z' : 1}
my_dict = {'x' : 'foo', 'z' : 'bar', 'y' : 'baz'}

我想使用 my_map 定义的顺序获取 my_dict 值的有序列表。我到达那里的最佳方法是:

inv_map = {v: k for k, v in my_map.items()}
ordered_list = [my_dict[k] for k in [inv_map[d] for d in range(len(my_map))]]

有没有更简单的方法来做同样的事情?

最佳答案

您可以使用 sorted 函数按值对 map 进行排序,然后对其进行转换:

[my_dict[k] for k in sorted(my_map, key=lambda key: my_map[key])]

至少干净一些!

让我们确保它有效:

>>> my_map = {'x' : 2, 'y' : 0, 'z' : 1}
>>> my_dict = {'x' : 'foo', 'z' : 'bar', 'y' : 'baz'}
>>> [my_dict[k] for k in sorted(my_map, key=lambda key: my_map[key])]
['baz', 'bar', 'foo']

关于python - 在 python 中使用逆向字典简化代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65928121/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com