Python字符串转拼音:pypinyin库的使用

字符串转拼音:pypinyin库的使用

这个库很简单,重要的也就2个功能,即pinyin()与lazy_pinyin,重点关注一下二者返回结果的差别,前者单个汉字一个列表(可以包含单个汉字的多音),后者一维(单个汉字一个元素,不能包含单个汉字的多音)。然后再关注一下非汉字字符的处理结果,这个库你就学的大差不差了。对于字符串列表,推荐使用遍历循环,而不是直接作为输入传入。

1 pypinyin.pinyin()

将汉字转为拼音,返回汉字的拼音列表(二维)

重要的参数

hans:
汉字的字符串或列表(一般习惯通过遍历的方式,而不是传入列表)

style:拼音风格,默认为TONE

heteronym:是否启用多音字

返回结果

汉字列表

from pypinyin import pinyin, Style

# 最普通的方式
print(pinyin("中心"))
# 返回:[['zhōng'], ['xīn']]

# 返回汉字的多个音调,及多音字的处理
print(pinyin("中心", heteronym=True))
# 返回:[['zhōng', 'zhòng'], ['xīn']]

# 设置返回的格式,默认为TONE,一般使用NORMAL进行处理
print(pinyin("中心", style=Style.TONE))
# [['zhōng'], ['xīn']]
print(pinyin("中心", style=Style.NORMAL))
# [['zhong'], ['xin']]
print(pinyin("中心", style=Style.TONE2))
# [['zho1ng'], ['xi1n']]
print(pinyin("中心", style=Style.TONE3))
# [['zhong1'], ['xin1']]
print(pinyin("中心", style=Style.INITIALS))
# [['zh'], ['x']]
print(pinyin("中心", style=Style.FIRST_LETTER))
# [['z'], ['x']]
print(pinyin("中心", style=Style.FINALS))
# [['ong'], ['in']]
print(pinyin("中心", style=Style.FINALS_TONE))
# [['ōng'], ['īn']]

# 其他情况
print(pinyin("标点符号,:。与英文abcABC", style=Style.NORMAL))
# [['biao'], ['dian'], ['fu'], ['hao'], [',:。'], ['yu'], ['ying'], ['wen'], ['abcABC']]

2 pypinyin.lazy_pinyin

将汉字转换为拼音,返回不包含多音字结果的拼音列表(一维)

重要的参数

hans:字符串

style:拼音风格,默认为NORMAL

from pypinyin import lazy_pinyin, Style

print(lazy_pinyin("示例字符"))
# ['shi', 'li', 'zi', 'fu']
print(lazy_pinyin("示例字符", style=Style.TONE))
# ['shì', 'lì', 'zì', 'fú']
print(lazy_pinyin("示例字符", style=Style.INITIALS))
# ['sh', 'l', 'z', 'f']
print(lazy_pinyin("示例字符", style=Style.FIRST_LETTER))
# ['s', 'l', 'z', 'f']
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

没有棱角的猫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值