考虑一个电子邮件列表:
['a@amail.com','b@bmail.com','c@cmail.com',...]
我想将列表项彼此进行比较。例如,电子邮件将是唯一的。 在Python中比较列表项的方式是什么?
答案 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.")