python的拼音_Python之拼音拆分

本文介绍了一个Python实现的拼音拆分算法,用于将汉字转化为首字母大写的拼音形式,例如zhangwei->ZhangWei。讨论了处理韵母包含声母的情况,并提供了一个批量生成弱口令字典的示例脚本。
摘要由CSDN通过智能技术生成

经常会需要用到将zhangwei转化为ZhangWei、Zw、Zhangw之类的,就涉及到一个拼音拆分算法,这里写了一个demo分享给大家

我的思路是先将声母转换为大写,然后就可以根据大写字母来分割单个拼音

学的拼音早忘差不多了,百度了一下,声母有bpmfdtnlgkhjqxrzczyw

转化代码

def sm(strs):

smlist = 'bpmfdtnlgkhjqxrzcsyw'

for s in smlist:

strs = strs.replace(s,s.upper())

return strs

然后发现有个问题,韵母中也包含了声母的元素,zhangwei就会变成ZHaNGWei

发现两个问题,一个是Zh、Ch、Sh这类的包含了声母h,一个是er、an、en、in、un、vn、ang、eng、ing、ong这类的包含了声母r、n、g

于是再加一个转换

def sm(strs):

smlist = 'bpmfdtnlgkhjqxrzcsyw'

nosm = ['eR','aN','eN','iN','uN','vN','nG','NG']

rep = {'ZH':'Zh','CH':'Ch','SH':'Sh'}

for s in smlist:

strs = strs.replace(s,s.upper())

for s in nosm:

strs = strs.replace(s,s.lower())

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值