0

我正在创建一个对列表进行排序的程序(就像list.sort()),但它不会计算元音。这就是我的意思:

我有一份……['acd', 'ibc', 'ebb', 'zzaeib']或类似的清单。一个正常的排序程序会给出这样的结果:['acd', 'ebb', 'ibc', 'zzaeib']. 我的排序需要忽略元音,对其进行排序,然后将元音放回原处并返回结果列表。例如,它会将上面的列表视为['cd', 'bc', 'bb', 'zzb']. 然后它会对它进行排序 ( ['bb', 'bc', 'cd', 'zzb']) 并将元音放回 ( ['ebb', 'ibc', 'acd', 'zzaeib']) 中。

以下是不同之处:

正常排序:['acd', 'ebb', 'ibc', 'zzaeib']

自定义排序:['ebb', 'ibc', 'acd', 'zzaeib']

我知道我可以使用 sort ( list.sort(key=whatever_key)) 的关键功能,但我看不到这样做的方法。提前致谢。

抢。

4

1 回答 1

2

我知道我可以使用排序的关键功能

是的,你快到了。

import re
new_list = sorted(l, key=lambda s: re.sub('[aioue]', '', s))
于 2013-08-17T00:11:43.743 回答