Sorting Python 3.3.2-对列表进行排序,同时忽略元音
我正在创建一个对列表进行排序的程序(就像Sorting Python 3.3.2-对列表进行排序,同时忽略元音,sorting,python-3.x,Sorting,Python 3.x,我正在创建一个对列表进行排序的程序(就像list.sort()),但它不会计算元音。我的意思是: 我有一张['acd','ibc','ebb','zzaeib']或类似的东西。正常的排序程序会给出这样的结果:['acd','ebb','ibc','zzaeb']。我的排序需要忽略元音,对其进行排序,然后将元音放回并返回结果列表。例如,它会将上面的列表视为['cd','bc','bb','zzb']。然后它会对它进行排序(['bb','bc','cd','zzb']),并将元音放回(['ebb',
list.sort()
),但它不会计算元音。我的意思是:
我有一张<代码>['acd','ibc','ebb','zzaeib']或类似的东西。正常的排序程序会给出这样的结果:['acd','ebb','ibc','zzaeb']
。我的排序需要忽略元音,对其进行排序,然后将元音放回并返回结果列表。例如,它会将上面的列表视为['cd','bc','bb','zzb']
。然后它会对它进行排序(['bb','bc','cd','zzb']
),并将元音放回(['ebb','ibc','acd','zzaeb']
)
区别如下:
正常排序:['acd'、'ebb'、'ibc'、'zzaeib']
自定义排序:['ebb','ibc','acd','zzaeb']
我知道我可以使用sort的关键功能(list.sort(key=whatever\u key)
),但我找不到一种方法来做到这一点。提前谢谢
罗布
我知道我可以使用sort的关键功能
是的,你就快到了
import re
new_list = sorted(l, key=lambda s: re.sub('[aioue]', '', s))