# -*- coding: utf-8 -*- #pip install pypinyin # @Function: 中文排序 from itertools import chain from pypinyin import pinyin, Styledef to_pinyin(s):'''转拼音'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] # ['美国', '日本', '中国']