2017-05-25 97 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

如果兩個姓氏以相同的字母開頭,該怎麼辦? –