我有一个包含近似重复元素的列表,但标识元素的数字除外。我想删除所有重复项,同时保留包含重复的第一个元素的编号。在保留变量的同时删除Python列表中近似重复的元素
例如,我想与lnew
更换l
:
l = ['iter1apple','iter2banana','iter3carrot','iter4apple','iter5orange','iter6banana','iter7mango']
lnew = ['iter1apple','iter2banana','iter3carrot','iter5orange','iter7mango']
我猜这事做与列表元素的其余部分分割数,转换列表中设置和使用defaultdict
与分裂的元素,但我无法弄清楚如何。
任何建议,将不胜感激。
那么您是如何决定删除'iter4apple'和'iter6banana'的?一般的解决方案就像'lnew = [elem for elem in l if elem not in discardable]''discardable'是你想要移除的那一组。 – hughdbrown 2013-03-24 21:15:47
@hughdbrown:'discardable'不是预定义的。我试图根据元素位置确定什么构成可丢弃,以及它是否与具有较低'iter'号码的元素重复。 – user1185790 2013-03-24 21:28:02