捷克语文本排序功能
项目描述
Czech Sort
这是一个用于捷克语字母排序的纯Python库。
快速使用
从Python
>>> import czech_sort
>>> czech_sort.sorted(['sídliště', 'shoda', 'schody'])
['shoda', 'schody', 'sídliště']
>>> sorted(['sídliště', 'shoda', 'schody'], key=czech_sort.key)
['shoda', 'schody', 'sídliště']
在命令行中:
$ python -m czech_sort < file.txt
shoda
schody
sídliště
为什么还需要另一个排序库?
要排序Python字符串,有三种其他选择
- 使用
PyICU
。这可以非常好地排序,并且执行所有各种标准合规的Unicode操作。非常适合出版物质量的结果。不幸的是,ICU的安装可能很麻烦,如果您只想排序字符串列表,则可能有点过度。 - 设置区域设置,然后使用
locale.strxfrm
。是的,strxfrm
!试着快速说十遍!)这取决于Czech POSIX区域设置是否可用,因此几乎不可移植。 - 只需使用Python内置的字符串排序。这按Unicode代码点进行字典排序。这可能对您足够好吗?也许吧?
范围
czech-sort
库是一种折衷方案。它应该在99%的情况下为您提供良好的结果。
如果您需要正确排序符号、非拉丁脚本或除捷克/斯洛伐克以外的重音符号,请不要使用此库。
任何与相关标准(ČSN 97 6030
)的任何其他偏差都应被视为错误。然而,作者和广大社区都无法访问该标准,这使得查找此类错误有些困难。
完整API
czech_sort.sorted(iterable)
接受字符串的可迭代对象,并返回排序后的字符串列表。
czech_sort.key(s)
返回给定字符串的排序键对象。
此函数适合作为内置函数 sorted
或 list.sort
的 key
参数。
czech_sort.bytes_key(s)
返回给定字符串的排序键,以字节形式。
此函数适合作为数据库API自定义函数,例如内置 sqlite3
连接的 create_function
。
警告:不要存储此函数的结果。此格式可能在 czech_sort
的未来版本中更改。
兼容性
czech-sort库可用于Python 2.6+和3.5+。
在Python 2下,它仅接受unicode
字符串。
安装
通过运行以下命令将此安装到您的virtualenv
中:
$ pip install czech-sort
贡献
欢迎在Github 上提交错误报告和评论。
欢迎贡献补丁!源代码托管在Github。
$ git clone http://github.com/encukou/czech-sort
运行包含的测试
$ python -m pip install -e.[test]
$ python -m pytest
如果您想做出贡献,但对此感到困惑,请发送电子邮件至encukou at
gmail dot
com。
许可
本项目采用MIT许可证。愿它能为您服务。
变更日志
1.1.0 (2023-07-11)
- 添加
bytes_key
(感谢@honzajavorek!) - 停止支持Python 2
1.0.1 (2021-08-30)
- 修复阻止包含'Ł'和/或'Ø'的字符串排序的bug。(感谢@dark-light-cz报告和@jiri-one提交PR!)
1.0.0 (2020-09-14)
没有代码更改。由于该项目已经稳定五年,我决定将其称为1.0。
- 打包改进
- 在Python 2.7和3.5-3.9上测试
0.4 (2015-09-05)
- 首次公开发布
项目详情
下载文件
下载适用于您平台的文件。如果您不确定要选择哪个,请了解更多关于安装包的信息。
源代码分发
czech-sort-1.1.0.tar.gz (8.0 kB 查看散列)
构建分发
czech_sort-1.1.0-py3-none-any.whl (8.3 kB 查看散列)
关闭
czech-sort-1.1.0.tar.gz的散列
算法 | 散列摘要 | |
---|---|---|
SHA256 | fc8b5217bf065b99df4a006e7fc5326d1e584480945242b39721c941724f0ebe |
|
MD5 | c708635481b1549ba44f535d5276cd07 |
|
BLAKE2b-256 | 425417244d0a363626071f39a5e7d726226b9bc021e24d348fc4f30c75daa48f |
关闭
czech_sort-1.1.0-py3-none-any.whl的散列
算法 | 散列摘要 | |
---|---|---|
SHA256 | 9c838dc8b39dd76ca95b0a01ad9f4b177bead96fa04bb52a06f558efd8a07a3c |
|
MD5 | 2dd4af70f51d3316b92f26816e3f5b14 |
|
BLAKE2b-256 | 4180ab38870957c5a6c93f296ea51b5800542ae01441b67e46e5ac6ee76e5128 |