我有一个像这样的字符串:
ng-style
我想将此字符串用逗号分隔,然后按姓氏排序。我认为要执行此操作,可能需要使用split函数,然后将其循环,将每个项目保存到列表中,然后按第一个索引进行排序。不确定如何执行此操作。
到目前为止我所拥有的:
students="John Dee johndee@gmail.com 555-555-5555,Jane Bee janebee@gmail.com 555-555-5555,Sarah Zee sarahzee@gmail.com 555-555-5555"
谢谢
答案 0 :(得分:4)
您的逻辑可以简化,因为sorted
有一个key
参数:
res = sorted(students.split(','), key=lambda x: x.split()[1])
['Jane Bee janebee@gmail.com 555-555-5555',
'John Dee johndee@gmail.com 555-555-5555',
'Sarah Zee sarahzee@gmail.com 555-555-5555']
请注意,str.split
默认为空格,因此str.split(' ')
不是必需的。此外,str.split
返回一个list
对象,因此无需手动进行迭代和append
。