我一直在想,当前两个字母都要按特定的顺序排列时,如何对列表进行排序。 基本上这是我的代码:
Rank = '34567890JQKA2'
Rank2 = 'DCHS'
def sort(words):
words.sort(key=lambda x: Rank.index(x[0]))
words.sort(key=lambda x: Rank2.index(x[1]))
return [words]
print(sort['9C', '9H', '8H', '9D'])
它的输出是按升序排列的,所以
>>> ['8H','9D','9C','9H']
第4行将第一个字母按顺序排序,但不知道如何将第二个字母按顺序排序
可以在lambda中设置多个参数进行排序
例如:
输出:
sort
的键不需要是单个值—如果它是多个值(在tuple
或list
中),它们将按顺序考虑这里有一个方法,它甚至不限制你两个字符:
相关问题 更多 >
编程相关推荐