在python中排序 - 如何以不同的顺序排序?

时间:2017-03-06 04:40:30

标签: python sorting

对此列表进行排序的python实现是什么:

['a', 'C', 2, 'z', 'B', 1, 'h', 0, 'Y', 9]

进入下面的列表?

['a', 'B', 'C', 'h', 'Y', 'z', 9, 2, 1, 0]

订单:a-> b-> ..-> y-> z-> ... 3-> -2->> 1-> 0

字母不区分大小写(' A'与' a'相同)。

谢谢!

1 个答案:

答案 0 :(得分:3)

使用排序指定正确的函数应该使用给定列表执行此操作:

lst = ['a', 'C', 2, 'z', 'B', 1, 'h', 0, 'Y', 9]
sorted(lst, key = lambda x: (not isinstance(x, str), x.lower() if isinstance(x, str) else -x))

# ['a', 'B', 'C', 'h', 'Y', 'z', 9, 2, 1, 0]