gpt4 book ai didi

python - 索引错误异常

转载 作者:太空宇宙 更新时间:2023-11-03 21:44:54 24 4
gpt4 key购买 nike

我正在学习使用 Python 的入门级编程类(class),我很难掌握教科书中的概念。

# This code will cause an IndexError exception.
my_list = [10, 20, 30, 40]
index = 0
while index < 5:
print(my_list[index])
index += 1

这将按预测返回 IndexError,但我不明白确切的原因,但我确实知道循环中设置为 < 5 的索引导致了错误。我只需要帮助理解错误背后的逻辑,而不是错误的解决方案。

最佳答案

解决方案

With indices 0, 1, 2 and 3 you already accessed all 4 elements of the list. There is no index 4. Zero-based indexing means the last index is always the length minus 1.

考虑到这一点,问题在于您期望列表中有五个值,而实际上列表中只有四个值。将您的代码更改为以下内容...

my_list = [10, 20, 30, 40]
index = 0
while index < 4:
print(my_list[index])
index += 1

但是,这将是循环的“硬编码”,如果您要修改 my_list 的长度,则必须更改循环条件。因此,我建议您更改条件来测试my_list的长度。像这样的东西会起作用...

my_list = [10, 20, 30, 40]
index = 0
while index < len(my_list):
print(my_list[index])
index += 1

其他解决方案

还有其他更有效的方法来打印列表的内容。

循环列表内容

for value in my_list: 
print(value)

使用加星号的表达式(注意这会打印出同一行的内容)

打印(*my_list)

关于python - 索引错误异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52574122/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com