我正在创建一个对列表进行排序的程序(就像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)
)的关键功能,但我看不到这样做的方法。提前谢谢。
罗布。
答案 0 :(得分:2)
是的,你几乎就在那里。我知道我可以使用sort
的关键功能
import re
new_list = sorted(l, key=lambda s: re.sub('[aioue]', '', s))