2013-08-16 97 views
0

我正在創建一個排序列表的程序(就像list.sort()),但它不會計算元音。這裏是我的意思:Python 3.3.2 - 對列表進行排序,同時忽略元音

我有一個清單...... ['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']

我知道我可以使用排序(list.sort(key=whatever_key))的主要功能,但我看不到的方式來做這個。提前致謝。

Rob。

回答

2

我知道我可以使用排序

沒錯的關鍵功能,你幾乎沒有。

import re 
new_list = sorted(l, key=lambda s: re.sub('[aioue]', '', s)) 
相關問題