python - 如何在没有列表的情况下填充我的字典?
问题描述
我的任务是获取一个文本文件并找出谁发送的电子邮件最多。我得到了正确的答案,但 TA 说我必须列一个清单,因为我有一个不需要的 for 循环
name = input("Enter file:")
if len(name) < 1 : name = "mbox-short.txt"
handle = open(name)
email_dict = dict()
email_list = list()
for lines in handle:
lines = lines.strip()
if not lines.startswith('From '): continue
from_lines = lines.split()
email_list = [from_lines[1]]
for email in email_list:
email_dict[email] = email_dict.get(email,0) + 1
prolific_committer = None
bigcount = None
for email, count in email_dict.items():
if prolific_committer is None or count > bigcount:
prolific_committer = email
bigcount = count
print(prolific_committer,bigcount)
我怎么能清理这个,但更重要的是为什么?我还在学习,我自己理解了很多概念。把这一切放在一起是我苦苦挣扎的地方。
解决方案
解决它
name = input("Enter file:")
if len(name) < 1 : name = "mbox-short.txt"
handle = open(name)
email_dict = dict()
email_list = list()
for lines in handle:
lines = lines.strip()
if not lines.startswith('From '): continue
from_lines = lines.split()
from_lines = from_lines[1]
email_dict[from_lines] = email_dict.get(from_lines,0) + 1
prolific_committer = None
bigcount = None
for email, count in email_dict.items():
if prolific_committer is None or count > bigcount:
prolific_committer = email
bigcount = count
print(prolific_committer,bigcount)
推荐阅读
- mongodb - mongo:如何投影不包括某些值的数组元素?
- graphql - Graphql Apollo Server Resolver:字段和嵌套对象的参数集
- reactjs - 如何根据两列过滤 React 中的数据集以仅获取唯一的数据组合?
- flutter - 我想在颤振中实现 Hive 但不工作?
- javascript - 覆盖html div类元素
- c - 配置 DTS 以连接多台摄像机
- java - Anylogic中资源池的维护
- python - 如何使用python在电源点中插入虚线
- c# - Azure 函数 - 带有 CreateSubscriptionStream 的 GraphQLHttpClient
- ansible - 在 Ansible playbook 中为 ufw 任务动态设置变量内容