字符串列表排序问题-Python
我有一个字符串列表:字符串列表排序问题-Python,python,sorting,Python,Sorting,我有一个字符串列表: cards = ['2S', '8D', '8C', '4C', 'TS', '9S', '9D', '9C', 'AC', '3D'] 以及我想显示卡片的顺序: CARD_ORDER = ['2', '3', '4', '5', '6', '7', '8', '9', 'T', 'J', 'Q', 'K', 'A'] 这就是我试图对列表排序的方式: sorted(cards, lambda x,y: CARD_ORDER.index(x[0]) >= CARD
cards = ['2S', '8D', '8C', '4C', 'TS', '9S', '9D', '9C', 'AC', '3D']
以及我想显示卡片的顺序:
CARD_ORDER = ['2', '3', '4', '5', '6', '7', '8', '9', 'T', 'J', 'Q', 'K', 'A']
这就是我试图对列表排序的方式:
sorted(cards, lambda x,y: CARD_ORDER.index(x[0]) >= CARD_ORDER.index(y[0]) )
不幸的是,这似乎不起作用……
或者更准确地说,列表保持不变,排序(卡片)
工作正常
有什么想法吗?很好
sorted(cards, key=lambda x: CARD_ORDER.index(x[0]))
键
参数接受单个值,根据该值对主iterable进行排序。您可能正在尝试使用cmp
参数,这在相当长的一段时间内是不推荐的。试试看
sorted(cards, key = lambda x: CARD_ORDER.index(x[0]) )
谢谢,任何解释为什么另一种方法不起作用?@RadiantHex,因为您使用的是
=
,它只返回False
或True
(0
或1
),而预期返回-1
、0
或1
)。