又一个奇葩要求,看看Python是如何将“中文”转“拼音”的?
【摘要】 这年头什么样子的需求都会出现,下面这张图就是很好的体现了。这就是说为啥要你学学Python啦!保不准你的领导会有各种奇葩需求,对于像Python这样的“万金油”编程语言来说,简直不是问题啦。 废话不多说,我们直接进入主题。
为了实现这个功能,今天我们使用的是pypinyin库,因此在使用之前需要我们提前安装一下,很方便。
pip install pypinyin
...
这年头什么样子的需求都会出现,下面这张图就是很好的体现了。这就是说为啥要你学学Python啦!保不准你的领导会有各种奇葩需求,对于像Python这样的“万金油”编程语言
来说,简直不是问题啦。
废话不多说,我们直接进入主题。
为了实现这个功能,今天我们使用的是pypinyin
库,因此在使用之前需要我们提前安装一下,很方便。
pip install pypinyin
- 1
接着,来一个牛刀小试。
import pypinyin
x = "黄同学"
pypinyin.pinyin(x)
- 1
- 2
- 3
- 4
结果如下:
可以看到,此时返回的结果是一个列表嵌套,并且发现了没,这个拼音还带声调
,哈哈,有没有感觉一下子回到了小学的拼音时代
。
此时我们是不是可以利用循环
+切片
获取到其中的每一个拼音。
for i in pypinyin.pinyin(x): print(i[0])
- 1
- 2
结果如下:
当然了,我们其实并不想要声调
呀,又该怎么解决呢?这里有一个style
参数,使用style=pypinyin.NORMAL
参数,就可以直接去去除声调
,不信你看。
x = "黄同学"
pypinyin.pinyin(x, style=pypinyin.NORMAL)
- 1
- 2
结果如下:
讲到这里,其实离着需求
很近了,这里涉及到了几个经典的Python知识点,希望大家一定要学习一下,这个会经常使用。一个是join()
函数,一个是enumerate()
函数。
word = "黄同学"
s = ""
for index,value in enumerate(pypinyin.pinyin(word, style=pypinyin.NORMAL)): if index == 0: s += "".join(value) s += " " else: s += value[0][0]
s
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
结果如下:
文章来源: blog.csdn.net,作者:数据分析与统计学之美,版权归原作者所有,如需转载,请联系作者。
原文链接:blog.csdn.net/weixin_41261833/article/details/108663543
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)