我的数组是
a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
如果我使用
对其进行排序sorted(a, key=lambda x: x % 2 == 0)
我明白了
[1, 3, 5, 7, 9, 0, 2, 4, 6, 8]
我很期待
[0, 2, 4, 6, 8, 1, 3, 5, 7, 9]
这是为什么?
最佳答案
您的关键函数 lambda x : x%2==0
将产生 False
和 True
和
>>> False < True
True
结果就是你要求的:-)
你可以通过 reverse=True
或更好
>>> sorted([0, 1, 2, 3, 4, 5, 6, 7, 8, 9], key=lambda x: x % 2)
[0, 2, 4, 6, 8, 1, 3, 5, 7, 9]
关于python - 排序函数中 x%2==0 的排序列表给出了我不希望的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64182163/