版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
第三方模块:
- 功 能:
- 汉字拼音转换模块,将汉字转为拼音;可以用于汉字注音、排序、检索。
- 模块名称:
- pypinyin
- 官方文档:
- https://pypi.org/project/pypinyin/
安装方法:
pip install pypinyin
# 如果安装慢或者失败,按以下方式添加安装源
pip install pypinyin -i https://pypi.tuna.tsinghua.edu.cn/simple/
代码如下:
import pypinyin
stu_list = [{"name": "李四", "gender": 1}, {"name": "张三", "gender": 1},
{"name": "王五", "gender": 1}, {"name": "尼克", "gender": 1}]
def hanzi_to_pinyin(last_name):
"""
功能说明:将姓名转换为拼音首字母缩写
参数:hanzi_to_pinyin(u'习大大')
返回值:xdd
"""
rows = pypinyin.pinyin(last_name, style=pypinyin.NORMAL) # 获取姓氏首字母
return ''.join(row[0][0] for row in rows if len(row) > 0) # 拼接姓名首字母字符串
# 按姓名首字母排序(不改变原列表方法)
# stu_list = sorted(stu_list, key=lambda x: hanzi_to_pinyin(x["name"][0]))
# 按姓名首字母排序(改变原列表方法)
stu_list.sort(key=lambda x: hanzi_to_pinyin(x["name"][0]))
print(stu_list)
# 输出结果:
[{'name': '李四', 'gender': 1}, {'name': '尼克', 'gender': 1}, {'name': '王五', 'gender': 1}, {'name': '张三', 'gender': 1}]