您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

根据Python中的自定义字母对字符串值进行排序

根据Python中的自定义字母对字符串值进行排序

让我们创建一个字母和一个单词列表:

In [32]: alphabet = "bafmxpzv"

In [33]: a = ['af', 'ax', 'am', 'ab', 'zvpmf']

现在让我们根据字母在其中出现的位置进行排序alphabet

In [34]: sorted(a, key=lambda word: [alphabet.index(c) for c in word])
Out[34]: ['ab', 'af', 'am', 'ax', 'zvpmf']

上面按正确的顺序排序。

sorted支持广泛的自定义排序。该sorted函数有三个可选参数cmpkey以及reverse

cmp适用于复杂的排序任务。如果指定,cmp应该是一个带有两个参数的函数。它应返回负数,零数或正数,具体取决于第一个自变量是否小于,等于或大于第二个自变量。对于这种情况,cmp是矫kill过正。

key,如果经过了精化,应该是一个带有一个参数并返回python本身知道如何排序的函数在这种情况下,key返回字母中每个单词字符的索引列表。

在这种情况下,key返回中的字母索引alphabet

python 2022/1/1 18:33:03 有213人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶