python - 计算文件中的单词数,以每一行分隔,并返回最大的数字
问题描述
followst.txt
使用具有以下内容 的虚拟文件 ( ):
andrew fred
fred
judy andrew fred
george judy andrew
john george
每行的第一个名称代表用户,而后面的任何名称代表他们关注的用户。我需要能够计算每个人关注的人数,然后返回最高人数。在这种情况下,它将返回:
george
judy
但是,我无法弄清楚如何分别计算每一行。我目前正在这样做:
fhand=open('followst.txt', 'r')
inp=fhand.read()
str= inp
words= str.split()
number_of_words=len(words)
print(number_of_words-1)
任何帮助将不胜感激。
解决方案
尝试这个
with open('followst.txt') as afile:
lines = afile.readlines()
follow_dict = {}
max_follower = 0
for line in lines:
names = line.split()
follow_dict[names[0]] = len(names)-1
if max_follower < len(names)-1:
max_follower = len(names)-1
for name,num_of_follower in follow_dict.items():
if num_of_follower == max_follower:
print(name)
推荐阅读
- c# - 在 IIS 上托管 ASP.NET 解决方案后启动系统计时器
- javascript - 在前台显示通知反应原生 firebase v6
- c# - topshelf 卸载命令不删除 EF 数据库
- markdown - Markdown - 使用相对路径嵌入图像
- python - 测试一个函数,有多个测试用例,但只使用一个断言?
- javascript - 正则表达式总是假的
- php - 如何从 laravel 5.2 中的 URL 中删除参数
- javascript - 关于“应用方法”如何在 javascript 中运行的问题
- java - 使用 java 控制何时关闭 OkHttpClient3
- python - 选择一个子项作为树中的当前项