以下代碼忽略語言環境,並在最後使用埃及語,出了什麼問題?使用語言環境/整理按鍵進行字典排序
dict = {"United States": "United States", "Spain" : "Spain", "England": "England", "Égypt": "Égypt"}
import locale
# using your default locale (user settings)
locale.setlocale(locale.LC_ALL,"fr_FR")
print OrderedDict(sorted(dict.items(), key=lambda t: t[0], cmp=locale.strcoll))
這是輸出:
OrderedDict([('England', 'England'), ('Spain', 'Spain'), ('United States', 'United States'), ('\xc3\x89gypt', '\xc3\x89gypt')])
我不認爲你可以同時指定'key'和'cmp'。 –
@Daniel實際上你可以......這只是奇怪的(鍵的結果,最終被傳遞給cmp) –
這裏最大的問題是不清楚'locale'對'fr_FR'的編碼是什麼。 –