当我看到列表索引超出范围时,是否有原因导致列表索引超出范围?

时间:2019-02-18 23:26:35

标签: python

我正在尝试学习Python,并且在处理列表方面遇到麻烦,特别是打印特定索引的列表。

老实说,我真的不知道该怎么做。我试图重新键入代码,仔细检查我的空格和格式。只是不确定我还可以检查什么?

wizard_list = ['spider legs, toe of frog, eye of newt, bat wing, slug butter, snake dandruff']
print(wizard_list)
['spider legs, toe of frog, eye of newt, bat wing, slug butter, snake dandruff']


print(wizard_list[2])    

Traceback (most recent call last):
  File "<pyshell#2>", line 1, in <module>
    print(wizard_list[2])
IndexError: list index out of range    

预期:

print(wizard_list[2]) # to print eye of newt

实际:

print(wizard_list[2]) # displays IndexError: list index out of range

4 个答案:

答案 0 :(得分:1)

当Python检测到新的'或'字符时,它将所有内容转换为字符串,然后用另一个'字符将其关闭时,您将界定代码的哪一部分属于字符串。

在您的情况下,您创建的列表仅包含一个大字符串,因为您仅放置了两个'字符。要对其进行测试,您可以执行以下操作:

len(wizard_list)
> 1

您想要的方式是:

wizard_list = ['spider legs', 'toe of frog', 'eye of newt', 'bat wing', 'slug butter', 'snake dandruff']

现在python将能够理解这些逗号将列表内的不同元素分隔开,而不仅仅是字符串内的字符。

您可以使用前面的命令对其进行测试:

len(wizard_list)
>6

现在数组的长度为6。

答案 1 :(得分:0)

您的列表中只有一个元素,您忘记了分开每个项目。

wizard_list = ['spider legs', 'toe of frog', 'eye of newt', 'bat wing', 'slug butter', 'snake dandruff']
print(wizard_list)
print(wizard_list[2])

答案 2 :(得分:0)

我只是个白痴。我隔开了,如果要创建列表,则每个项目都需要使用自己的单引号。

store_list = ['鸡蛋','黄油','牛奶'] 打印(store_list) 鸡蛋,黄油,牛奶 打印(store_list [0]) 鸡蛋

答案 3 :(得分:0)

Joshua,您的代码中存在语法错误,导致不良行为。

 wizard_list = ['spider legs', 'toe of frog', 'eye of newt', 
'bat wing', 'slug butter', 'snake dandruff']
print(wizard_list)

您可以在此Guide

中详细了解列表和字符串