我在 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 个元素的列表而不导致错误?
任何帮助或建议将不胜感激!
您可以使用 try/ except 块来实现此目的。
try:
tenth_number = numbers[9]
except IndexError:
return # return None if an IndexError is raised
有关如何处理 python 异常的更多信息这里。