mozillazg / python-pinyin

汉字转拼音(pypinyin)

Home Page:https://pypinyin.readthedocs.io

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

支持这个字:々

Anime-Master opened this issue · comments

运行环境

  • 操作系统(Linux/macOS/Windows):Windows
  • Python 版本:3.11.4
  • pypinyin 版本:0.49.0

问题描述

你好,我想转换这个字:”々“。
根据百度百科,”作为反复记号,々的读音是读被反复的字的读音。“
比如: ”谢々” 拼音是 “xie xie”,“香々甜々的蜜糖” 拼音是 “xiang xiang tian tian de mi tang"。
更多关于这个字的信息,请参考:https://baike.baidu.com/item/々/9045440
在python支持这个字应该不需要复杂的逻辑,和前一个字输出一样就行了(如果前面没字的话就不转换)

问题复现步骤

lazy_pinyin('谢々')
预期输出:['xie', 'xie']
实际输出:['xie', '々']
lazy_pinyin('香々甜々的蜜糖')
预期输出:['xiang', 'xiang', 'tian', 'tian', 'de', 'mi', 'tang']
实际输出:['xiang', '々', 'tian', '々', 'de', 'mi', 'tang']

这个字的那个所谓的读音并不是一个标准的拼音,pypinyin 暂时不会考虑支持。
你可以通过对结果做二次处理来自助实现:

In [1]: from pypinyin import lazy_pinyin

In [2]: ret = lazy_pinyin('谢々')

In [3]: ret
Out[3]: ['xie', '々']

In [4]: for i, v in enumerate(ret):
   ...:     if v == '々':
   ...:         ret[i] = ret[i-1]
   ...: 

In [5]: ret
Out[5]: ['xie', 'xie']