gpt4 book ai didi

python - 获得列表中最高值(value)的卡

转载 作者:行者123 更新时间:2023-11-28 17:27:45 28 4
gpt4 key购买 nike

我有一个卡片列表:

    hand = ["KC", "QC", "4C", "0S"]

而且我总是想获得排名最高的卡片,就像在这个列表中一样

    rank_cards = ["2", "3", "4", "5", "6", "7", "8", "9", "0", "J", "Q", "K", "A"]

在这种情况下,最高的牌是:

    "KC"

我怎样才能对我拿到的任何一手牌执行此操作?

我正在考虑使用字典根据索引对卡片进行排名,如下所示:

    d = {}
for i, c in enumerate(rank_cards):
d[c] = i

有更好的方法吗?

谢谢

最佳答案

您可以使用 max 内置函数并使用自定义 key 函数。

>>> max(hand, key=lambda c: rank_cards.index(c[0]))
'KC'

如果你想根据排名降序排列整手牌

>>> hand.sort(key=lambda c: rank_cards.index(c[0]), reverse=True)

如果您希望通过预计算索引获得更好的性能(基本上,您的解决方案,但在字典理解中是单行的)。

>>> rank_cards_map = {c: i for i, c in enumerate(rank_cards)}
>>> max(hand, key=lambda c: rank_cards_map[c[0]])

关于python - 获得列表中最高值(value)的卡,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37403492/

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