You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python查找文本文件最长单词报ValueError: max() arg is an empty sequence如何解决

问题原因分析
  • 核心报错原因:执行max(words,key=len)时,words是空列表。触发场景包括:data1.txt是完全空白的空文件;文件内只有空格、换行、制表符等空白字符,调用split()后没有拆分出任何有效元素,返回空列表。
  • 额外代码问题1:打印单词长度的逻辑有误,当前写的是print('length is : ',max_len_word),会重复打印单词本身,正确写法应该取长度:print('length is : ', len(max_len_word))。
  • 额外代码问题2:打开文件的模式选的是r+(读写模式),你只有读取需求,用默认只读模式r即可,避免误操作修改源文件。
  • 额外代码问题3:函数没有定义return返回值,最后调用print(find_longest_word('data1.txt')),执行完函数逻辑后会额外打印一个None。
修复后的代码
def find_longest_word(filename):
    with open(filename,'r') as f:
        content = f.read()
        words = content.split()
        # 提前判断列表是否为空,避免max报错
        if not words:
            return "文件中没有可识别的单词"
        max_len_word = max(words,key=len)   
        print('maximum length word in file :',max_len_word)
        print('length is : ', len(max_len_word))
        return max_len_word
  
print(find_longest_word('data1.txt'))

内容的提问来源于stack exchange,提问作者pearlwrap

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 03:48:04