如何在Python中自定义卡片列表?

时间:2016-10-03 02:12:21

标签: list python-3.x sorting

我无法在任何地方找到解决这个问题的方法(我已经检查过许多自定义排序问题)而且我刚刚开始学习Python,如果这是重复或过于具体,请道歉。< / p>

我正在编写一个让用户对抗该程序的纸牌游戏。需要排序的列表是卡片,每张卡片代表两个字符(例如,七个俱乐部的7c,或十个钻石的Td。我想安排这些卡片,以便排名按以下顺序排列:3, 4, 5, 6, 7, 8, 9, J, Q, K, A, 2T

因此,如果我的手牌为['3d', 'Ac', '6h', 'Kd', '2s'],则会显示为['3d', '6h', 'Kd', 'Ac', '2s']

1 个答案:

答案 0 :(得分:1)

首先,定义订单。然后按顺序排序:

In [39]: order = "3456789JQKA2T"

In [40]: hand = ['3d', 'Ac', '6h', 'Kd', '2s']

In [41]: hand.sort(key=lambda c:order.index(c[0]))

In [42]: hand
Out[42]: ['3d', '6h', 'Kd', 'Ac', '2s']