包含utf8字符的列表排序

2024-10-06 16:17:07 发布

您现在位置:Python中文网/ 问答频道 /正文

问题的开头在这里Custom sort python

我想用这个字母表进行特殊的分类

alphabet = u'aáàAâÂbBcCçÇdDeéEfFgGğĞhHiİîÎíīıIjJkKlLmMnNóoOöÖpPqQrRsSşŞtTuUûúÛüÜvVwWxXyYzZ

这组字符应该具有相同的优先级。在前面的帖子中,@happydave建议使用(字母表.索引(c) /2)

which should map each pair of adjacent characters in your list to the same priority.

但在我的情况下,我没有一对性格?例如:aáaéa,eée,uUú219;,oO,iİîÎī。在

在我看来,简单的方法是添加一个条目,每个列表只包含成对的字符,但我不知道如何实现它。在

^{pr2}$

添加一项的列表列表

[['word1_', 'word1', <Element tag at b719a4cc>], ['word2_', 'word2', <Element tag at b719a6cc>]]

Tags: 列表tagcustom分类elementsort字符字母表
2条回答
s='aáàAâÂbBcCçÇdDeéEfFgGğĞhHiİîÎíīıIjJkKlLmMnNóoOöÖpPqQrRsSşŞtTuUûúÛüÜvVwWxXyYzZ'
s2='aaaaaabbccccddeeeffgggghhiiiiiiiijjkkllmmnnoooooppqqrrssssttuuuuuuuvvwwxxyyzz'
trans = str.maketrans(s, s2)

def unikey(seq):
    return seq[0].translate(trans)

将此函数用作sortedkey参数

工作太多了。Set your locale,然后{a2}。在

永远不要对UTF-8字符进行排序;总是先解码到unicode。在

相关问题 更多 >