📅  最后修改于: 2023-12-03 15:41:41.497000             🧑  作者: Mango
本篇文章将介绍一个Python函数,能够计算给定数组中存在的不同电子邮件。该函数会使用正则表达式来匹配电子邮件格式。
import re
def count_unique_emails(emails: list) -> int:
"""
计算给定数组中存在的不同电子邮件
:param emails: 一个包含电子邮件的列表
:type emails: list
:return: 针对给定数组中的不同电子邮件的计数
:rtype: int
"""
unique_emails = set()
for email in emails:
email = email.strip()
pattern = r'\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Z|a-z]{2,}\b'
match = re.match(pattern, email)
if match:
unique_emails.add(email)
return len(unique_emails)
emails
(必需):一个包含电子邮件的列表。你可以将需要计数的电子邮件存储在一个列表中,并将该列表作为emails
参数传递给count_unique_emails()
函数。
示例:
emails = ['user1@example.com', 'user2@gmail.com', 'user1@example.com', 'user3@outlook.com', 'user2@gmail.com']
count = count_unique_emails(emails)
print(count) # 3
在上面的示例中,函数count_unique_emails()
将统计不同电子邮件的数量,并且在控制台中打印出3。
该函数能够有效地统计列表中不同电子邮件的数量,并排除无效的电子邮件格式。然而,由于需要使用正则表达式进行匹配,所以计算一些特别复杂的邮件地址可能会有性能问题。
本篇文章介绍了一个计算存在不同电子邮件数量的Python函数,该函数使用正则表达式匹配电子邮件格式。通过调用该函数,可以有效地统计一个给定列表中不同电子邮件的数量。