首页 > 解决方案 > 列表索引超出范围,从文本文件中输出行

问题描述

我想从文本文件中提取某行,但结果只取第一行,如果我尝试调用其他人,则会显示此错误

Traceback (most recent call last):
  File "C:\Users\fomen\PycharmProjects\dddf\main.py", line 22, in <module>
    label2 = Label(top, text=list_pip(1), justify=LEFT)
  File "C:\Users\fomen\PycharmProjects\dddf\list_pop.py", line 11, in list_pip
    return list_1[n]
IndexError: list index out of range

功能:

import os

def list_pip(n):
    my_patch = "sort.txt"
    if os.path.getsize(my_patch) > 0:
        list_1 = []
        in_file = open("sort.txt", 'r').readlines()
        for line in in_file:
            line.index(line)
            list_1.append(line)
            return list_1[n]

排序.txt:

1.1151530742645264
1.448728322982788
1.5068244934082031
3.5338211059570312

标签: pythonloops

解决方案


尝试将您的退货声明更改为return list_1[n-1].

原因:- 列表中的索引从零开始。列表的索引 0 给出第一行,索引 1 给出第二行,依此类推。因此,索引 n-1 给出第 n 行。

此外,return 语句必须在 for loop 之外


推荐阅读