回溯:列表索引超出范围

时间:2015-11-18 09:29:52

标签: python list random grid

def PlayEasy():
    list = []
    filename = 'words.txt'
    with open(filename) as f:
        content = f.readlines()
    list.append(content)
    print(list)
    print(list[0] + list[1] + list[2])
    print(list[3] + list[4] + list[5])
    print(list[6] + list[7] + list[8])

尝试运行但收到此错误消息:

Traceback (most recent call last):
  File "<pyshell#7>", line 1, in <module>
    PlayEasy()
  File "/home/bourne-grammar.lincs.sch.uk/99dj12/Documents/Ca2/2016-DJ-Traditional/CA2/Code.py", line 24, in PlayEasy
    print(list[1] + list[1] + list[2])
IndexError: list index out of range

我正在尝试在3x3网格中打印出列表中的所有9个项目。

3 个答案:

答案 0 :(得分:1)

您的列表只有一个项目 - 来自readline的行列表。 您应该使用extend()而不是append()。

还有一些说明:

  • 我不明白为什么你需要list变量。内容已经是一个列表。

  • list是一个关键字,因此它不是变量的好名称。

答案 1 :(得分:0)

我认为content已经是一个列表。所以你可以print(content)

答案 2 :(得分:0)

内容已经列出,无需附加到新列表。

但要避免使用新行字符,请声明如下所示的new_list

new_list = []

内容中的line_data:     new_list.append(line_data.strip())