我有一个字符串列表,有2个破折号分隔文本,如:
Wednesday-Morning-Go bowling
Sunday-Really late at night-Sleep
July-Noon-BBQ
Run Code Online (Sandbox Code Playgroud)
我想通过字符串的最后一部分 - 第二个破折号依次在python中按字母顺序对列表进行排序.有没有办法在python中执行此操作?例如,这是我希望列表在排序后的样子.
July-Noon-BBQ
Wednesday-Morning-Go bowling
Sunday-Really late at night-Sleep
Run Code Online (Sandbox Code Playgroud)
(我使用的是Python 2.6.)
您可以使用该key属性list.sort():
a = ["Wednesday-Morning-Go bowling", "Sunday-Really late at night-Sleep",
"July-Noon-BBQ"]
a.sort(key=lambda x: x.split("-", 2)[-1])
print a
Run Code Online (Sandbox Code Playgroud)
版画
['July-Noon-BBQ', 'Wednesday-Morning-Go bowling', 'Sunday-Really late at night-Sleep']
Run Code Online (Sandbox Code Playgroud)
请注意,该split()调用允许超过2个破折号.第二部分之后的每个破折号都将被忽略并包含在第三部分中.
| 归档时间: |
|
| 查看次数: |
4250 次 |
| 最近记录: |