国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術文章
文章詳情頁

Python無法正確排序unicode。Strcoll沒有幫助

瀏覽:53日期:2022-08-07 10:45:34
如何解決Python無法正確排序unicode。Strcoll沒有幫助?

顯然,在所有平臺上進行排序的唯一方法是使用具有PyICU綁定的ICU庫(在PyPI上為PyICU)。

在OS X:上sudo port installpy26-pyicu,請注意此處描述的錯誤:https ://svn.macports.org/ticket/23429(使用Macports的樂趣)。

不幸的是,嚴重缺乏PyICU的文檔,但是我設法找出了它的完成方法:

import PyICUcollator = PyICU.Collator.createInstance(PyICU.Locale(’pl_PL.UTF-8’))print [i for i in sorted([u’a’, u’z’, u’?’], cmp=collator.compare)]

這使:

[u’a’, u’?’, u’z’]

另一個優點-@bobince:它是線程安全的,因此在設置請求方式的語言環境時并非沒有用。

解決方法

我在OSX和Linux上的Python 2.5.1和2.6.5中使用Unicode排序規則對列表進行排序時遇到問題。

import locale locale.setlocale(locale.LC_ALL,’pl_PL.UTF-8’)print [i for i in sorted([u’a’,u’z’,u’?’],cmp=locale.strcoll)]

應該打印:

[u’a’,u’?’,u’z’]

而是打印出來:

[u’a’,u’?’]

總結一下-好像strcoll壞了。嘗試了各種類型的變量(例如非Unicode編碼的字符串)。

我做錯了什么?

最好的問候,Tomasz Kopczuk。

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 沙田区| 周宁县| 民丰县| 许昌市| 牡丹江市| 叙永县| 涿州市| 曲靖市| 通辽市| 县级市| 天台县| 四会市| 城固县| 陕西省| 宁津县| 西华县| 大足县| 涟水县| 兴城市| 甘孜县| 西贡区| 四会市| 玛纳斯县| 尖扎县| 拜泉县| 晋中市| 濮阳县| 藁城市| 墨竹工卡县| 织金县| 阳春市| 梁山县| 黄平县| 辉县市| 凌云县| 亳州市| 屯留县| 双鸭山市| 巩留县| 平利县| 海城市|