根据德国DIN排序术语。
项目描述
根据德国DIN 5007标准排序术语。
一个支持根据德国DIN标准5007排序术语的Python库。
本标准描述了如何按德语字母顺序排序德语术语。它提供了两种变体
变体1
'ä' 等于 'a'
'ß' 等于 'ss'
…
变体2
'ä' 等于 'ae'
'ß' 等于 'ss'
…
在两种变体中,其他变音符号都被移除。所以 'é' 和 'ç' 分别变成 'e' 和 'c'。
用法
dinsort 是一个 Python 库。
术语标准化
主要函数是 dinsort.normalize。它为任何给定的字符串术语生成标准化形式
>>> from dinsort import normalize >>> normalize("Löblich") 'loblich'
变体定义为常量
>>> from dinsort import VARIANT1, VARIANT2 >>> normalize("Müßig", variant=VARIANT1) 'mussig' >>> normalize("Müßig", variant=VARIANT2) 'muessig'
术语默认转换为小写。您可以请求大小写敏感性
>>> normalize("Maße", case_sensitive=True) 'Masse'
排序
标准化术语可以轻松用于对术语列表进行排序
>>> sorted(["fas", "fair", "fär"], key=lambda x: normalize(x)) ['fair', 'fär', 'fas']
我们通过在您的代码中使用 sort_func 提供一个快捷方式来避免(有时难以阅读)lambda 表达式
>>> from dinsort import sort_func >>> sorted(["fas", "fair", "fär"], key=sort_func()) ['fair', 'fär', 'fas']
sort_func 接受 normalize 的关键字
>>> sorted(["Muße", "muß"], key=sort_func()) ['muß', 'Muße'] >>> sorted(["Muße", "muß"], key=sort_func(case_sensitive=True)) ['Muße', 'muß'] >>> sorted(["far", "fähre"], key=sort_func()) ['fähre', 'far'] >>> sorted(["far", "färe", "fast"], key=sort_func()) ['far', 'färe', 'fast'] >>> sorted(["far", "färe", "fast"], key=sort_func(variant=VARIANT2)) ['färe', 'far', 'fast']
安装
用户安装
可以通过 pip 安装 dinsort 的最新版本
$ pip install dinsort
具体方式取决于您的操作系统。
开发者安装
开发者可以从 github 克隆源代码
$ git clone https://github.com/ulif/dinsort.git
创建虚拟环境(支持 Python 版本 >= 2.6)
$ cd dinsort $ virtualenv py27 $ source py27/bin/activate
并安装依赖项
(py27) python setup py dev
您可以使用 py.test 运行测试
(py27) py.test
或使用 tox
(py27) pip install tox (py27) tox
变更
0.2 (2015-10-14)
添加 sort_func。它是 lambda 表达式与 normalize 的快捷方式。
官方支持 pypy。
0.1 (2015-10-13)
初始版本。
项目详情
下载文件
下载您平台上的文件。如果您不确定要选择哪一个,请了解更多关于 安装包 的信息。
源分布
dinsort-0.2.tar.gz (12.6 kB 查看哈希值)
构建分布
dinsort-0.2-py2.py3-none-any.whl (6.6 kB 查看哈希值)
关闭
dinsort-0.2.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 18a15223cb1e27ac3e73d5de41e08fe8d47dc85ee9feeeea8177b867033ca76c |
|
MD5 | df0a8f478fe4f94d1309f49aadcea6ce |
|
BLAKE2b-256 | ccb218ff2e44fe0cb7e1e7955229f62904c299674b7b9ef6500255951ae793b9 |
关闭
dinsort-0.2-py2.py3-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 9649c8ab7def8c16aa46fa066beba3516271f921620030f0440bd749130a104c |
|
MD5 | ebc6c5bdd6a7a8b5d9b048f7134d5572 |
|
BLAKE2b-256 | d931ab178c5108772b326acf61b54546aa54e39c77e1c5129f9e70723384dc50 |