V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
oldbird
V2EX  ›  Python

py2 对中文是怎么排序的?

  •  
  •   oldbird · 2021-01-27 11:14:43 +08:00 · 1692 次点击
    这是一个创建于 1400 天前的主题,其中的信息可能已经有所发展或是发生改变。

    没找到规律

    7 条回复    2021-03-07 15:27:32 +08:00
    frostming
        1
    frostming  
       2021-01-27 12:32:27 +08:00
    通过 unicode 编码值来排序的

    sorted('中华人民共和国', key=ord)
    frostming
        2
    frostming  
       2021-01-27 12:35:12 +08:00
    哦你说 py2,如果是 native str,同样是通过字节编码值来排序的,如果是 unicode 则和 py3 一样
    AoEiuV020
        3
    AoEiuV020  
       2021-01-28 10:43:54 +08:00
    希望是什么规律?按拼音首字母排序?
    oldbird
        4
    oldbird  
    OP
       2021-02-03 17:16:25 +08:00
    @AoEiuV020 希望和 WINDOWS 文件浏览器里的排序一样
    AoEiuV020
        5
    AoEiuV020  
       2021-02-03 17:33:53 +08:00
    @oldbird 特地搜了一下,windows 是有复杂逻辑的,而且不同版本还不一样,
    https://www.winhelponline.com/xp/xpsortorder.htm
    毕竟人家是操作系统而不是编程语言,直接对比字符串排序可能有点 low,
    AoEiuV020
        6
    AoEiuV020  
       2021-02-03 17:36:05 +08:00
    win api 有提供多种不同排序方法,这个应该是系统默认的,
    https://docs.microsoft.com/zh-cn/windows/win32/api/shlwapi/nf-shlwapi-strcmplogicalw?redirectedfrom=MSDN
    bmxbmx3
        7
    bmxbmx3  
       2021-03-07 15:27:32 +08:00
    pypi 的 cn_sort 库应该可以的
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5360 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 09:18 · PVG 17:18 · LAX 01:18 · JFK 04:18
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.