标签:Python pinyin 汉字 char item print 排序
char=['赵','钱','孙','李','佘'] char.sort() for item in char: print(item,ord(item))
# 佘 20312
# 孙 23385
# 李 26446
# 赵 36213
# 钱 38065
汉字排序是按照unicode数值排序
ord() 函数是 chr() 函数(对于 8 位的 ASCII 字符串)的配对函数,它以一个字符串(Unicode 字符)作为参数,返回对应的 ASCII 数值,或者 Unicode 数值。
解决方案,使用汉字转拼音库pypinyin ,得到拼音及音调
from itertools import chain from pypinyin import pinyin, Style def to_pinyin(s): return ''.join(chain.from_iterable(pinyin(s, style=Style.TONE3))) print(sorted(char)) print(sorted(char, key=to_pinyin)) # ['佘', '孙', '李', '赵', '钱'] # ['李', '钱', '佘', '孙', '赵']
标签:Python,pinyin,汉字,char,item,print,排序 来源: https://www.cnblogs.com/Monkey18/p/16478774.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。