ryn*_*ynd 3 python sorting string
我有一个字符串列表,list并希望按字母顺序排序.当我调用list.sort()列表的第一部分包含以字母顺序排序的大写字母开头的条目时,第二部分包含以小写字母开头的排序条目.像这样:
Airplane
Boat
Car
Dog
apple
bicycle
cow
doctor
Run Code Online (Sandbox Code Playgroud)
我google了一个答案,但没有找到一个有效的算法.我读到的locale模块和sort参数cmp和key.通常会有这种lambda情况连续发生sort,这让我无法理解.
我怎样才能得到:
list = ['Dog', 'bicycle', 'cow', 'doctor', 'Car', 'Boat', 'apple', 'Airplane']
Run Code Online (Sandbox Code Playgroud)
至:
Airplane
apple
bicycle
Boat
Car
cow
doctor
Dog
Run Code Online (Sandbox Code Playgroud)
应考虑外语的特征(如ä,é,î).
Thi*_*ter 10
使用不区分大小写的比较:
>>> sorted(['Dog', 'bicycle', 'cow', 'doctor', 'Car', 'Boat',
'apple', 'Airplane'], key=str.lower)
['Airplane', 'apple', 'bicycle', 'Boat', 'Car', 'cow', 'doctor', 'Dog']
Run Code Online (Sandbox Code Playgroud)
这实际上是python wiki上关于排序的建议方式:
从Python 2.4开始,list.sort()和sorted()都添加了一个关键参数,用于指定在进行比较之前在每个列表元素上调用的函数.
例如,这是一个不区分大小写的字符串比较:
Run Code Online (Sandbox Code Playgroud)>>> sorted("This is a test string from Andrew".split(), key=str.lower) ['a', 'Andrew', 'from', 'is', 'string', 'test', 'This']
| 归档时间: |
|
| 查看次数: |
11963 次 |
| 最近记录: |