我想对此列表进行排序:
>>> L = ['A', 'B', 'C', ... 'Z', 'AA', 'AB', 'AC', ... 'AZ', 'BA' ...]
正是它的方式,无论内容如何(假设所有CAPS alpha)。
>>> L.sort()
>>> L
['A', 'AA', 'AB', 'AC'...]
我该怎么做:
>>> L.parkinglot_sort()
>>> L
['A', 'B', 'C', ... ]
我正在考虑测试长度,对每个长度进行排序,并将L
的所有单独的1长,2长,n长度元素混合到新的L
中。
谢谢!
答案 0 :(得分:6)
这个怎么样?
l.sort(key=lambda element: (len(element), element))
它将对列表进行排序,不仅考虑每个元素,还考虑其长度。
>>> l = ['A', 'AA', 'B', 'BB', 'C', 'CC']
>>> l.sort(key=lambda element: (len(element), element))
>>> print l
['A', 'B', 'C', 'AA', 'BB', 'CC']