首页 > 解决方案 > 计算文件中的单词数,以每一行分隔,并返回最大的数字

问题描述

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)

任何帮助将不胜感激。

标签: pythonstringfilecount

解决方案


尝试这个

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)

推荐阅读