Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
字符串列表排序问题-Python_Python_Sorting - Fatal编程技术网

字符串列表排序问题-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
)。