Skip to content

拼音排序

danielslab edited this page Feb 11, 2018 · 1 revision

中文按照拼音排序 問題 lst = ['鑫','鹭','榕','柘','珈','骅','孚','迦','瀚','濮','浔','沱','泸','恺','怡','岷','萃','兖'] 這個 list 裡的中文求按 漢語拼音首字母 排序

問題出自 segmentfault, by easonhan0408

回答 Python 的話可以利用 pypinyin:

from pypinyin import lazy_pinyin

chars = ['鑫','鹭','榕','柘','珈','骅','孚','迦','瀚','濮','浔','沱','泸','恺','怡','岷','萃','兖']

chars.sort(key=lambda char: lazy_pinyin(char)[0][0])

print([lazy_pinyin(char) for char in chars]) print(chars) 結果:

'cui'], ['fu'], ['hua'], ['han'], ['jia'], ['jia'], ['kai'], ['lu'], ['lu'], ['min'], ['pu'], ['rong'], ['tuo'], ['xin'], ['xun'], ['yi'], ['yan'], ['zhe' ['萃', '孚', '骅', '瀚', '珈', '迦', '恺', '鹭', '泸', '岷', '濮', '榕', '沱', '鑫', '浔', '怡', '兖', '柘'] 以上排序 僅按拼音首字母 排序

Clone this wiki locally