python 使用列表中的数据,您可以通过其索引号调用数据
python using data from a list, where by you call the data from its index number
我必须打开一个文件,计算行和列的平均值,然后计算数据的最大值 sheet。数据是从文本文件导入的。当我完成程序时,它应该看起来像 excel sheet,只打印在我的终端上。
数据文件必须是七横六下。
88 90 94 98 100 110 120
75 77 80 86 94 103 113
80 83 85 94 111 111 121
68 71 76 85 96 122 125
77 84 91 102 105 112 119
81 85 90 96 102 109 134
稍后,我将打印上述数据。我的数学很简单,我的问题是 selecting 索引列表中的数字。前任:
selecting 索引 0、8、16、24、32、40。应该是数字 88、75、80、68、77、81。
我输入索引号得到的是0 = 8, 1 = 8, 2 = " "...等等
我做错了什么?我有另一个问题,我在程序中输入了列表,它按我希望的那样工作。该程序每月使用 select 的索引号。 0= 空白索引,1 = 1 月,2 = 2 月,等等...
我希望这个例子清楚地说明了我打算做什么,但似乎做不到。同样,我的月程序和这个程序之间的唯一区别是对于下面的代码,我打开一个文件来填充列表。我加载的数据不好吗?拆分和剥离列表不佳?帮助比答案更有用,因为我可以学习而不是得到答案。
def main():
print("Program to output a report of noise for certain model cars.")
print("Written by censored.")
print()
fileName = input("Enter the name of the data file: ")
infile = open(fileName, "r")
infileData = infile.read()
line = infileData
#for line in infile:
list = line.split(',')
list = line.strip("\n")
print(list)
n = eval(input("Enter a index number: ", ))
print("The index is", line[n] + ".")
print("{0:>38}".format(str("Speed (MPH)")))
print("{0:>6}".format(str("Car")), ("{0:>3}".format(str(":"))),
("{0:>6}".format(str("30"))), ("{0:>4}".format(str("40"))),
("{0:>4}".format(str("50"))))
主要()
感谢您的宝贵时间。
需要说明的是,您的数据似乎是 space 分隔的,而不是逗号分隔的。所以当你打电话时,
list = line.split(',')
列表如下所示,
['88 90 94 98 100 110 120 75 77 80 86 94 103 113 80 83 85 94 111 111 121 68 71 76 85 96 122 125 77 84 91 102 105 112 119 81 85 90 96 102 109 134']
因此,当您访问 list[0] 时,您将得到“8”而不是“88”,或者当您访问 list[2] 时,您将得到“ ”,而不是“94”
list = line.split() # this is what you should call (space-separated)
同样,此答案基于您的数据呈现方式。
你一直在覆盖你的变量,我不建议屏蔽内置 (list
)。
infileData = infile.read()
line = infileData
#for line in infile:
list = line.split(',')
list = line.strip("\n")
应该是:
infileData = list(map(int, infile.read().strip().split()))
这会将文件内容读入一个字符串,去除前导和尾随的空格,将其拆分为一个由空格分隔的列表,将每个元素映射为一个 int
,并创建一个 list
从中
或:
stringData = infile.read()
stringData = stringData.strip()
stringData = stringData.split()
infileData = []
for item in stringData:
infileData.append(int(item))
将每个元素存储为整数可以让您轻松地对其进行计算,例如 if item > 65
或 exceed = item - 65
。当您想将它们视为字符串时,例如用于打印,请将它们转换为 str()
:
print("The index is", str(infileData[n]) + ".")
我必须打开一个文件,计算行和列的平均值,然后计算数据的最大值 sheet。数据是从文本文件导入的。当我完成程序时,它应该看起来像 excel sheet,只打印在我的终端上。
数据文件必须是七横六下。 88 90 94 98 100 110 120 75 77 80 86 94 103 113 80 83 85 94 111 111 121 68 71 76 85 96 122 125 77 84 91 102 105 112 119 81 85 90 96 102 109 134
稍后,我将打印上述数据。我的数学很简单,我的问题是 selecting 索引列表中的数字。前任: selecting 索引 0、8、16、24、32、40。应该是数字 88、75、80、68、77、81。
我输入索引号得到的是0 = 8, 1 = 8, 2 = " "...等等
我做错了什么?我有另一个问题,我在程序中输入了列表,它按我希望的那样工作。该程序每月使用 select 的索引号。 0= 空白索引,1 = 1 月,2 = 2 月,等等...
我希望这个例子清楚地说明了我打算做什么,但似乎做不到。同样,我的月程序和这个程序之间的唯一区别是对于下面的代码,我打开一个文件来填充列表。我加载的数据不好吗?拆分和剥离列表不佳?帮助比答案更有用,因为我可以学习而不是得到答案。
def main():
print("Program to output a report of noise for certain model cars.")
print("Written by censored.")
print()
fileName = input("Enter the name of the data file: ")
infile = open(fileName, "r")
infileData = infile.read()
line = infileData
#for line in infile:
list = line.split(',')
list = line.strip("\n")
print(list)
n = eval(input("Enter a index number: ", ))
print("The index is", line[n] + ".")
print("{0:>38}".format(str("Speed (MPH)")))
print("{0:>6}".format(str("Car")), ("{0:>3}".format(str(":"))),
("{0:>6}".format(str("30"))), ("{0:>4}".format(str("40"))),
("{0:>4}".format(str("50"))))
主要()
感谢您的宝贵时间。
需要说明的是,您的数据似乎是 space 分隔的,而不是逗号分隔的。所以当你打电话时,
list = line.split(',')
列表如下所示,
['88 90 94 98 100 110 120 75 77 80 86 94 103 113 80 83 85 94 111 111 121 68 71 76 85 96 122 125 77 84 91 102 105 112 119 81 85 90 96 102 109 134']
因此,当您访问 list[0] 时,您将得到“8”而不是“88”,或者当您访问 list[2] 时,您将得到“ ”,而不是“94”
list = line.split() # this is what you should call (space-separated)
同样,此答案基于您的数据呈现方式。
你一直在覆盖你的变量,我不建议屏蔽内置 (list
)。
infileData = infile.read()
line = infileData
#for line in infile:
list = line.split(',')
list = line.strip("\n")
应该是:
infileData = list(map(int, infile.read().strip().split()))
这会将文件内容读入一个字符串,去除前导和尾随的空格,将其拆分为一个由空格分隔的列表,将每个元素映射为一个 int
,并创建一个 list
从中
或:
stringData = infile.read()
stringData = stringData.strip()
stringData = stringData.split()
infileData = []
for item in stringData:
infileData.append(int(item))
将每个元素存储为整数可以让您轻松地对其进行计算,例如 if item > 65
或 exceed = item - 65
。当您想将它们视为字符串时,例如用于打印,请将它们转换为 str()
:
print("The index is", str(infileData[n]) + ".")