如何修复 Python 脚本中的“IndexError:列表索引超出范围”错误?

问题描述 投票:0回答:1

我在 Python 脚本中遇到 IndexError: list index out of range 错误,并且不知道如何解决它。我的脚本应该从文件中读取数字列表并计算平均值。这是代码的相关部分

def calculate_average(file_path):
    with open(file_path, 'r') as file:
        lines = file.readlines()
        
    numbers = [int(line.strip()) for line in lines]
    
    # Trying to access the 10th element, but the list might be shorter
    tenth_number = numbers[9]
    
    average = sum(numbers) / len(numbers)
    return average

运行脚本时收到以下错误消息

IndexError: list index out of range

这是我迄今为止尝试过的

  • 验证文件是否被正确读取并且行包含预期的元素数量。

  • 检查文件中的每一行都可以转换为整数。

我怀疑发生了错误,因为列表编号可能没有 10 个元素,但我不确定如何正确处理这种情况。如何修改代码以处理少于 10 个元素的列表而不导致错误?

任何帮助或建议将不胜感激!

python list file-io index-error
1个回答
0
投票

您可以使用 try/ except 块来实现此目的。

try:
    tenth_number = numbers[9]
except IndexError:
    return  # return None if an IndexError is raised

有关如何处理 python 异常的更多信息这里

© www.soinside.com 2019 - 2024. All rights reserved.