我有一组字符串需要排序。
默认情况下,字母的值比数字(或字符串数字)大,因此会排在排序列表的末尾。
>>> 'a' > '1'
True
>>> 'a' > 1
True
我希望能够将以数字开头的所有字符串放在列表底部。
例如:
未排序的列表:
['big', 'apple', '42nd street', '25th of May', 'subway']
Python默认的排序方式:
['25th of May', '42nd street', 'apple', 'big', 'subway']
请求的排序方式:
['apple', 'big', 'subway', '25th of May', '42nd street']
'2'
将被列在'11'
之后。 - Lukas Grafstr()
将x
包装起来:sorted(a, key=lambda x: (str(x)[0].isdigit(), str(x))
。 - djollkey=lambda x: (not x[0].isalpha(), x))
。 - danodonovan