索引器:列表索引超出PYTHON范围(不使用for循环)

索引器:列表索引超出PYTHON范围(不使用for循环),python,Python,我试图从文本文件中找到平均值。文本文件有数字列,我想找到每列的平均值。我得到以下错误: 索引器:列表索引超出范围 我使用的代码是: import os os.chdir(r"path of my file") file_open = open("name of my file", "r") file_write = open ("average.txt", "w") line = file_open.readlines() list_of_lines = [] length = len(li

我试图从文本文件中找到平均值。文本文件有数字列,我想找到每列的平均值。我得到以下错误: 索引器:列表索引超出范围

我使用的代码是:

import os

os.chdir(r"path of my file")
file_open = open("name of my file", "r")
file_write = open ("average.txt", "w")

line = file_open.readlines()
list_of_lines = []
length = len(list_of_lines[0])
total = 0


for i in line:
    values = i.split('\t')
    list_of_lines.append(values)

count = 0
for j in list_of_lines:
    count +=1

for k in range(0,count):
    print k
    list_of_lines[k].remove('\n')



for o in range(0,count):
    for p in range(0,length):
        print list_of_lines[p][o]
        number = int(list_of_lines[p][o])    
        total + number
    average = total/count
    print average
错误是一致的

length = len(list_of_lines[0])

请告诉我是否可以提供更多信息。

问题是您试图获取数组中某些内容的长度,而不是数组本身

试试这个:


length=len(行列表)
您编写的
length=len(行列表[0])


行中的行
定义在此行的正上方,作为一个包含0项的列表。因此,无法选择第一项(索引号0),因为索引号0不存在。因此,它超出了范围。

您希望
len(行列表[0])
和更具体地说
list\u行列表[0]
直接位于
list\u行列表=[]
list\u行列表=[]
length=len(行列表[0])
看起来不太好。
list\u行列表=[]长度=len len
您希望它做什么?
length
应该取什么值?
length=len(行列表)
(使用现有答案修复索引错误后)在自上而下运行脚本时计算一次。每次需要最新长度时,都需要再次调用
len()
<代码>长度在此脚本中始终为零,因此上次的
for
循环将不起任何作用。@new\u coder Np,请不要忘记向上投票并选择最好的answer@MoH. 向上投票至少需要10%的声誉,最好是通过一个链接来说明它是如何运作的。(特别是对于新用户)@tadhgcdonald Jensen很好,我也没有注意到OP低于10 rep。