问题排序字符串列表 - Python

Rad*_*Hex 0 python sorting

我有一个字符串列表:

cards = ['2S', '8D', '8C', '4C', 'TS', '9S', '9D', '9C', 'AC', '3D']
Run Code Online (Sandbox Code Playgroud)

以及我想要显示卡片的顺序:

CARD_ORDER = ['2', '3', '4', '5', '6', '7', '8', '9', 'T', 'J', 'Q', 'K', 'A']
Run Code Online (Sandbox Code Playgroud)

这就是我试图订购列表的方式:

sorted(cards, lambda x,y: CARD_ORDER.index(x[0]) >= CARD_ORDER.index(y[0]) )
Run Code Online (Sandbox Code Playgroud)

不幸的是,这似乎不起作用....

或者更确切地说,列表保持完全相同,sorted(cards)工作正常.

有任何想法吗?

Sil*_*ost 8

它的

sorted(cards, key=lambda x: CARD_ORDER.index(x[0]))
Run Code Online (Sandbox Code Playgroud)

key参数接受单个值,通过该值对主可迭代进行排序.您可能尝试使用cmp不推荐的参数很长一段时间.