gpt4 book ai didi

python - 使用包含字典值的元素对列表进行排序

转载 作者:行者123 更新时间:2023-11-28 18:52:18 26 4
gpt4 key购买 nike

我正在尝试制作一个带有卡片等级的排序系统,它们的值是从一个单独的字典中获得的。在一副简单的 52 张牌中,我们有 2 到 A 等级,在这种情况下,我想要一个排名系统,其中 0 是 10,J 是 11,Q 是 12,K 是 13,A 是 14,2 是 15,其中 2 是最大的值(value)排名。问题是,如果有一个列表,我想根据编号系统以 ASCENDING 顺序对排名卡进行排序,我该怎么做?

比如这里有一个列表,[3,5,9,7,J,K,2,0],我想把列表排序成[3,5 ,7,9,0,J,K,2]。我还为编号系统制作了一个字典 {'A': 14, 'K': 13, 'J': 11, 'Q': 12, '0': 10, '2': 15}

谢谢

最佳答案

这个答案有效:

    sorted(list_for_sorting, key=dictionary_you_wrote.__getitem__)

这也是:

    sorted_list = sorted(unsorted_list, key = lambda k: your_dictionary[k])

sorted 函数使用第一个参数(您要排序的对象)中的每个条目来调用第二个参数。这样,lamda 函数会从字典中返回给定项目的值,并且可以将其用作键进行排序。

如果任何列表条目不在 your_dictionary.keys() 中,这将不起作用。完成字典或使用

    sorted(unsorted_list, key = lambda k: your_dictionary[k] if k in your_dictionary.keys() else k)

关于python - 使用包含字典值的元素对列表进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10569853/

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