代码示例:
names = ['Angle Smith', 'Bob White', 'Amelia James', 'Andrew Diamond', 'Amy Rice', 'Beth Green',
'Bill Black', 'David White', 'Charlie Blue', 'Chris Brown', 'Cathy Snow', 'Daniel Green']
# 按照姓氏进行排序
names.sort(key=lambda x: x.split()[-1])
# 用字典存储每个姓氏首字母相同的人的信息
dic = {}
for name in names:
key = name.split()[-1][0] # 获取姓氏的首字母
if key not in dic:
dic[key] = []
dic[key].append(name)
# 按照字典中的键进行排序
keys = sorted(dic.keys())
# 按照相同首字母的姓氏聚在一起,构建最终的排序结果
result = []
for key in keys:
result.extend(dic[key])
print(result)
上一篇:按姓氏排序数组
下一篇:按姓氏然后名字排序列表