问题描述

对中文排序时,顺序并不是想象中的按【拼音】排

print(sorted(['美国', '中国', '日本']))  # 美m 中z 日r abcdefghijkl[m]nopq[r]stuvwsy[z]
# ['中国', '日本', '美国']

解决方案

安装pypinyin

pip install pypinyin

代码

# -*- coding: utf-8 -*-
# @Author  : XerCis
# @Function: 中文排序
from itertools import chain
from pypinyin import pinyin, Styledef to_pinyin(s):'''转拼音:param s: 字符串或列表:type s: str or list:return: 拼音字符串>>> to_pinyin('你好吗')'ni3hao3ma'>>> to_pinyin(['你好', '吗'])'ni3hao3ma''''return ''.join(chain.from_iterable(pinyin(s, style=Style.TONE3)))print(sorted(['美国', '中国', '日本']))  # 美m 中z 日r abcdefghijkl[m]nopq[r]stuvwsy[z]
# ['中国', '日本', '美国']
print(sorted(['美国', '中国', '日本'], key=to_pinyin))  # 美m 中z 日r abcdefghijkl[m]nopq[r]stuvwsy[z]
# ['美国', '日本', '中国']

参考文献

  1. pypinyin 0.37.0 文档
  2. python-pinyin: 汉字转拼音
  3. Python排序
  4. Python itertools——高效迭代

Python根据拼音对中文排序相关推荐

  1. MongoDB3.4 根据中文拼音给中文排序

    mongo从3.4版本开始,可以对根据中文拼音给中文进行排序,按照中文首字母的顺序 升序(a-z)或者降序(z-a). 对于中文名字,通常有按拼音顺序排序的需求,这时就可以通过collation来搞定 ...

  2. python的拼音_python 中文分词和拼音首字母

    昨天的算法课老师以中文分词为例讲了DP,换了种简单的方式(求分词后频率和最大)实现了一下,效果不错,频率词典是从这里找的: http://download.csdn.net/source/347899 ...

  3. python的拼音_Python中文转为拼音

    # -*- coding: utf-8 -*- import sys def openTable(): f = open('gb-pinyin.table', 'r') table = f.read( ...

  4. Python sorted Pandas sort_values 中文拼音排序

    问题描述: 默认情况下,pandas排序函数sort_values,python通用排序函数sorted,列表排序函数.sort(),都无法按拼音对中文进行排序. 解决方案: # 用list进行举例 ...

  5. python 中文排序(按拼音首字母)

    pypinyin 排序 仅按拼音首字母 排序 安装pypinyin pip3 install pypinyin 代码from pypinyin import lazy_pinyinchars = [' ...

  6. python汉字排序_【IT专家】Python中文排序(转载)

    本文由我司收集整编,推荐下载,如有疑问,请与我司联系 Python 中文排序(转载) 2012/02/02 3793 Python 比较字符串大小时,根据的是 ord 函数得到的编码 值.基于它的排序 ...

  7. python编程单词排序_Python实现针对中文排序的方法

    本文实例讲述了Python实现针对中文排序的方法.分享给大家供大家参考,具体如下: Python比较字符串大小时,根据的是ord函数得到的编码值.基于它的排序函数sort可以很容易为数字和英文字母排序 ...

  8. python汉字排序_Python实现针对中文排序的方法

    本文实例讲述了Python实现针对中文排序的方法.分享给大家供大家参考,具体如下: Python比较字符串大小时,根据的是ord函数得到的编码值.基于它的排序函数sort可以很容易为数字和英文字母排序 ...

  9. 中文按拼音首字母排序的C++实现方案

    先介绍下背景,最近有个需求,需要将用户的好友列表按照昵称的拼音首字母排序,类似于手机电话簿的联系人.一开始建议让终端同学去做这点,毕竟终端现有的电话簿模块已经实现了,不过终端同学说电话簿是系统组件,移 ...

  10. python汉字排序规则_Python 中文排序

    我找到最全的数据是slowwind9999上传到csdn的unicode汉字编码表,包括全部20902个汉字的全拼.五笔.郑码.UNICODE.GBK.笔画数 部首,以及笔顺编号(拼音部分没有音调,而 ...

最新文章

  1. 修改 Android Studio 相关模板,以加快项目创建时构建速度,支持Mac,Windows,Linux...
  2. cacti监控一览无余
  3. 使用localStorage实现历史记录搜索功能也就是天猫app历史记录存储方便浏览
  4. 选购光端机有哪些必备条件
  5. k8s kubectl run命令使用详解
  6. 访问云服务器储存的mp4_访问云服务器储存的mp4
  7. RocketMQ(四)—— 单机与集群安装
  8. html网页设计课程的思维导图,UI设计初级教程学哪些?课程大纲和思维导图分享给你!...
  9. Bucharest, Romania 2013 G Points DP
  10. ezcad旋转轴标刻参数_激光打标机软件ezcad中的曲线圆弧排文本参数说明及设置...
  11. MySQL 8 安装教程
  12. 也致第一次安装Rime的你
  13. OISPT 内网安全项目组A1-渗透测试基础项目训练文档
  14. 详解C++中fixed,setprecision(),setw()的用法
  15. linux7 显示任务,centos 7下计划任务详解之at
  16. 图片转文字的实用方法
  17. Linux计算节点怎么关闭,OpenStack 删除无用的计算结点
  18. 计算机鼠标与键盘基本知识,电脑鼠标和键盘的基础设置方法
  19. 【requests库】爬取Pixiv日榜图片 并保存到本地
  20. 我的学习笔记003--!!DOCTYPE html PUBLIC -//W3C//DTD HTML 4.0 Transitional//EN http://www.w3.org/mxx

热门文章

  1. Typora上传图片终于解决了
  2. 一次局域网入侵全过程
  3. 局域网内交换机VLAN隔离设置
  4. 一次 svchost.exe 进程占用大量网络带宽的排查
  5. 阿里java类注释模板_向IDE导入阿里编码规约格式化模板和注释模板
  6. 二次型特征值的猜根法应用
  7. python文件同时读写_python可以同时对文件进行读写操作吗
  8. 微信h5页面中下载app(apk)的解决方案
  9. python水印_使用Python PIL 给图片添加水印
  10. 新站快速排名的优化技巧