索引器:列表索引超出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。