在Python中比较列表中的项目

时间:2011-10-30 10:42:10

标签: python list

考虑一个电子邮件列表:

['a@amail.com','b@bmail.com','c@cmail.com',...]

我想将列表项彼此进行比较。例如,电子邮件将是唯一的。 在Python中比较列表项的方式是什么?

2 个答案:

答案 0 :(得分:3)

如果您只想测试列表中是否有重复项,可以使用:

if len(set(list_o_emails)) == len(list_o_emails):
    # all are different
else:
    # you had a duplicate
    raise forms.ValidationError # from your comment

因为set将消除任何重复项,并且比较长度将告诉您是否删除了任何重复项。

答案 1 :(得分:1)

这是any()与列表理解的完美结合:

if any([emails.count(email) > 1 for email in emails]):
    raise forms.ValidationError("Emails must be unique.")
相关问题