Python根據拼音對中文排序

2021-10-23 04:49:30 字數 1185 閱讀 9592

對中文排序時,順序並不是想象中的按【拼音】排

print

(sorted([

'美國'

,'中國'

,'日本'])

)# 美m 中z 日r abcdefghijkl[m]nopq[r]stuvwsy[z]

# ['中國', '日本', '美國']

安裝pypinyin

pip install pypinyin
**

# -*- coding: utf-8 -*-

# @author : xercis

# @function: 中文排序

from itertools import chain

from pypinyin import pinyin, style

defto_pinyin

(s):

'''轉拼音

:param s: 字串或列表

:type s: str or list

:return: 拼音字串

>>> to_pinyin('你好嗎')

'ni3hao3ma'

>>> to_pinyin(['你好', '嗎'])

'ni3hao3ma'

'''return

''.join(chain.from_iterable(pinyin(s, style=style.tone3)))

print

(sorted([

'美國'

,'中國'

,'日本'])

)# 美m 中z 日r abcdefghijkl[m]nopq[r]stuvwsy[z]

# ['中國', '日本', '美國']

print

(sorted([

'美國'

,'中國'

,'日本'

], key=to_pinyin)

)# 美m 中z 日r abcdefghijkl[m]nopq[r]stuvwsy[z]

# ['美國', '日本', '中國']

pypinyin 0.37.0 文件

python-pinyin: 漢字轉拼音

python排序

python itertools——高效迭代

object c中文拼音排序

objective c 和 sqlite 不支援中文拼音排序,這讓中文應用的開發者非常鬱悶 通過使用pingyin.h就能實現獲取到字元首字母 1。在資料庫中為每個資料項加乙個字段,用於存放漢字的漢語拼音首字母,比如 唐就是t,好就是h.這樣就能用 sql 語句對首字母進行排序了,其實就是根據拼音排...

js 根據中文獲取拼音首字母

js部分 var pinyin param str 判斷中英文 returns 中文返回true,其他返回false function ischinese str param str 獲取拼音的字串 param split 拼音分隔符 param uppercase 是否轉為大寫 returns 結...

中文字元按拼音排序

select from select 張三 name from dual union all select 李四 name from dual union all select 王五 name from dual order by nlssort name,nls sort schinese pin...