首页 > 解决方案 > Python - 在文本文件错误中查找最长的单词

问题描述

我试图在文本文件中找到最长的单词,它一直在说: ValueError: max() arg is an empty sequence

def find_longest_word(filename):
    with open(filename,'r+') as f:
        words = f.read().split()
        max_len_word = max(words,key=len)   
        print('maximum length word in file :',max_len_word)
        print('length is : ',max_len_word)
  
print(find_longest_word('data1.txt'))

我做错什么了?

标签: pythontexttxt

解决方案


这应该适合你:

from functools import reduce

def find_longest_word(filename):
    f = open(filename, "r")
    s = [y for x in f.readlines() for y in x.split()]
    longest_word = reduce(lambda x, y: y if len(x) < len(y) else x, s, "")
    print("The longest word is", longest_word, "and it is", len(longest_word),"characters long")

    return longest_word
  
print(find_longest_word('input.txt'))

推荐阅读