在Python中查找联系人邮件列表中独特人数的程序
在现代社会中,电子邮件已经成为人们工作和生活中不可缺少的一部分,而邮件的发送和接收双方就需要一份联系人邮件列表来保证及时沟通。当联系人列表中存在重复的邮件地址时,我们需要对其去重,只保留独特的邮件地址。本文将会介绍如何在Python中实现这一功能。
第一步:读取联系人邮件数据
我们首先需要读取联系人邮件数据,可以将数据存储在一个csv文件中,每行记录代表一个联系人的邮件地址,表头可能是”Name,Email”或者”Email”。我们可以使用Python内置的csv库将数据读取出来。下面是示例代码:
import csv
def read_contacts(file_path):
unique_emails = set() # 用set存储独特的邮件地址
with open(file_path, 'r', encoding='utf-8') as f:
reader = csv.DictReader(f)
for row in reader:
email = row.get('Email')
if email and email not in unique_emails: # 去重
unique_emails.add(email)
return unique_emails
第二步:去重联系人邮件地址
我们读取出来的邮件地址需要去重,只保留独特的邮件地址。Python中有一个叫做set的数据类型,可以用来存储独特的元素,我们只需要将所有邮件地址放进set中即可去重。下面是示例代码:
def remove_duplicate_emails(emails):
return set(emails) # 将所有邮件地址放进set中去重
第三步:输出独特邮件数量
我们已经将所有的邮件地址去重了,现在需要统计独特的邮件数量并输出。下面是示例代码:
def count_unique_emails(file_path):
unique_emails = read_contacts(file_path)
num_unique_emails = len(unique_emails)
print("There are {} unique emails in the contact list.".format(num_unique_emails))
完整代码
以上三部分组合在一起就是完整的代码:
import csv
def read_contacts(file_path):
unique_emails = set() # 用set存储独特的邮件地址
with open(file_path, 'r', encoding='utf-8') as f:
reader = csv.DictReader(f)
for row in reader:
email = row.get('Email')
if email and email not in unique_emails: # 去重
unique_emails.add(email)
return unique_emails
def remove_duplicate_emails(emails):
return set(emails) # 将所有邮件地址放进set中去重
def count_unique_emails(file_path):
unique_emails = read_contacts(file_path)
num_unique_emails = len(unique_emails)
print("There are {} unique emails in the contact list.".format(num_unique_emails))
if __name__ == '__main__':
file_path = 'emails.csv'
count_unique_emails(file_path)
结论
通过以上代码,我们可以轻松地读取联系人邮件数据,并且快速去重,只保留独特的邮件地址。这个程序可以帮助我们更好地管理邮件联系人,避免重复发送邮件,提高工作效率。