为何列表含4个元素时,索引[4]触发IndexError: list index out of range?
问题解答
核心原因:Python列表索引从0开始计数
你的列表player_order_chooser确实包含4个元素,但Python中列表的索引是从0开始计数的,而非从1开始。对应关系如下:
- 第1个元素的索引是
0 - 第2个元素的索引是
1 - 第3个元素的索引是
2 - 第4个元素的索引是
3
代码里尝试访问player_order_chooser[4],这个索引对应的元素根本不存在,因此触发IndexError: list index out of range错误。
修正方法
把访问索引4的代码改成访问索引3,或者用更简洁的遍历方式打印所有元素:
import random player_a = "Joe" player_b = "john" player_c = "Donald" player_d = "Brady" player_order_chooser = [player_a,player_b,player_c,player_d] random.shuffle(player_order_chooser) x = len(player_order_chooser) print(x) # 按索引正确访问所有元素 print(player_order_chooser[0]) print(player_order_chooser[1]) print(player_order_chooser[2]) print(player_order_chooser[3]) # 更高效的遍历打印方式 for player in player_order_chooser: print(player)
内容的提问来源于stack exchange,提问作者MGG3500
相关产品推荐
相关产品推荐

