2017-05-25 92 views
0

我有一个列表,如L=['john fwtiou','nick dallas','kostas papadopoulos'] 如何按姓氏排序?正确的应该是使用sorted()第一nick dallas然后john fwtiou然后kostas papadopoulos如何按姓氏排序姓名列表

+0

你在用什么语言?请包括您迄今为止尝试过的代码。 – whrrgarbl

回答

1

简单的解决方案。

>>> sorted(l, key=lambda name: name.split()[1]) 
['nick dallas', 'john fwtiou', 'kostas papadopoulos'] 
0

尝试以下操作:

L = ['john fwtiou','nick dallas','kostas papadopoulos'] 
L_sorted = sorted(L, key=lambda name: name[name.find(' ')+1]) 
print(L_sorted) 

说明:name[name.find(' ')+1]空间后找到的第一个字母。然后sorted函数接受列表并将其作为自定义键排序。

+0

如果两个姓氏以相同的字母开头,该怎么办? –