python---汉字转拼音模块


1.安装xpinyin模块


pip install xpinyin

2.使用

引入--实例化--获取拼音--打印拼音

import xpinyin

p=xpinyin.Pinyin()

pinyin=p.get_pinyin(需要转化的字段,链接方式)

print(pinyin)

 

# from xpinyin import Pinyin
# p=Pinyin()
# ret=p.get_Pinyin("周杰伦") #默认用-连接,用‘’就可以连接了
# print(ret)

#练习:名字转拼音 名字一样加1 多音字挣不了
s="""
廖娟
赵兰英
罗淑英
袁玉华
萧秀华
徐磊
宋桂荣
莫瑜
陆帅
王淑兰
魏建华
苏军
王飞
李秀梅
罗秀兰
李波
李艳
李燕
李雁
薛建平
黄成
周旭
季军
杨秀荣
关兰英
伍欣
郑宇
王雷
李娟
雷霞
李艳
徐玉英
仇雪梅
李雷
王洋
李建
孙晶
何飞
孙林
郑玲
王桂香
田强
陈华
吴秀云
董强
阮秀云
王洋
谢秀云
潘玉
邹想
吕秀云
罗荣
杨琴
韩欣
邬秀华
章欣
安军
李林
李萍
王勇
莫艳
余凤兰
吴建军
白晶
张燕
殷晨
朱宇
欧阳艳
范雪
杨建
梁杰
林丹丹
许雪梅
任敏
石娟
龚楠
傅建平
李建
刘娟
陈璐
李欢
朱萍
李凯
王静
胡桂英
陈凤兰
温桂芝
蔡波
蒋林
韦坤
欧莹
黄桂荣
单玲
张荣
艾涛
张博
谢龙
张丽丽
林丽娟
李帅
刘东
刘琴
"""
# 分析:
# 1、名字的字符串先转成list
# 2、循环list,获取每个姓名,然后转成拼音
# 3、把拼音存成一个字典,拼音当key 次数当value
# 4、判断这个拼音的次数,如果是1的话,拼音拼音就是账号,如果不是1 那么就取count-1

name_dict = {} #存到字典
names = s.split() #拿到所有name1
for name in names:#循环
pinyin = p.get_pinyin(name,'') #加空是连接,用什么连接,name拿过来得到拼音2
if pinyin not in name_dict: #判断拼音不在里面,就是第一次出现
name_dict[pinyin] = 1 #namek
else:
name_dict[pinyin]+=1 #在里面了加等于1 到这是当前次数了
pinyin_count = name_dict[pinyin] #取下count
if pinyin_count==1: #在判断等等于1就行了,出现过1
print(pinyin)
else:
print("%s%s"%(pinyin,pinyin_count-1)) #不是1 拼音后面跟一个数字,要是21 三的话减1 类推
posted @ 2021-10-23 09:59  王王的王  阅读(530)  评论(0)    收藏  举报