mozillazg / python-pinyin

汉字转拼音(pypinyin)
https://pypinyin.readthedocs.io
MIT License
4.92k stars 612 forks source link

中文和拼音的对应 #327

Closed tianyongliu closed 3 months ago

tianyongliu commented 3 months ago

能否返回中文和拼音的对应序列,类似enumerate的结果一样。例如: [('我', 'wo'),('是', 'shi'), ('中', 'zhong'),('国', 'guo'), ('人', 'ren')] 。

如果是纯中文的话,上述结果很容易得到。 但是,如果句子中存在空格和数字或其他非中文的情况,不是太方便得到上述结果。 谢谢!

mozillazg commented 3 months ago

@tianyongliu 调整一下结果可以满足需求不:

>>> lazy_pinyin('我是中国人,你呢?12345')
['wo', 'shi', 'zhong', 'guo', 'ren', ',', 'ni', 'ne', '?12345']

>>> lazy_pinyin('我是中国人,你呢?12345', errors=lambda x: list(x))
['wo', 'shi', 'zhong', 'guo', 'ren', ',', 'ni', 'ne', '?', '1', '2', '3', '4', '5']
tianyongliu commented 3 months ago

@mozillazg 加上 errors=lambda x: list(x) 这个,能满足需求。 厉害,非常感谢!