【发布时间】:2014-11-04 03:50:55
【问题描述】:
我发誓我首先搜索了 SO,发现了很多“如果适应就可以工作”,但没有什么能真正帮助我。我所拥有的是以下形式的元组列表:
[('', 'noreply@bookfresh.com'), ('Andrea', 'andrea@aaa.com'), ('Your Book', 'noreply@bookfresh.com'), ..]
在这种情况下,它是一个元组列表,在所有索引中,第一个值是“Name”,第二个值是“Email”。并且列表没有以任何特定方式排序(还)。
我需要的是一种清晰且易于理解(我不一定要寻找我什至无法阅读的单行)的方式来生成“唯一”列表,但要遵循以下规则/注意事项:
- 只有在发现元组的第二个值重复时才删除元组(在这种情况下,它恰好是一个电子邮件地址,它应该是“noreply@bookfresh.com”)
- 不要消除所有重复元组的实例。我需要保留一个,而要保留的应该是第一个对象的 len() 最多的元组。 (在这种情况下,对于重复的元组,它将只保留元组('Your Book', 'noreply@bookfresh.com')。
这个最小化示例的最终输出是:
[('Andrea', 'andrea@aaa.com'), ('Your Book', 'noreply@bookfresh.com'), ..]
输出没有排序或排序无关紧要,因为我知道如何对未排序的元组列表进行排序。谢谢
【问题讨论】:
标签: python list python-3.x tuples