我需要对一些字典键进行排序,以便 u"/" 字符位于末尾。当使用非 unicode 字符串时,我使用了一个函数:
>>> L = ["/", "C", "b", "A"]
>>> sorted(L, key=lambda item: item.lower() if item != "/" else tuple())
['A', 'b', 'C', '/']
这使用(滥用?)元组在 python 中的字符串之后排序的事实。但是 unicode 字符串在元组之后排序,所以如果键是 unicode,这将不起作用。所以,例如,
>>> L = [u"/", u"C", u"b", u"A"]
>>> sorted(L, key=lambda item: item.lower() if item != u"/" else tuple())
[u'/', u'A', u'b', u'C']
- unicode 类型后排序了哪些对象?
- 有没有更好的方法来做到这一点?