def make_number_list(a_file):
number_list= []
for line_str in a_file:
line_list = line_str.split()
for number in line_list:
if number != " ":
number_list.append(number)
return number_list
opened_file = open(input("Name of input file: "))
a_file_list = make_number_list(opened_file)
print(a_file_list)
print("Length: ", len(a_file_list))我试图从一个文件中读取(最终)1000个整数值到一个列表中。然后找出它们的最大值、最小值和I值.但是,这并不适用于读取列表(我只是使用一个测试列表,它是TextEdit中的一个文件,是由单个空格分隔的一堆随机数)。有什么建议吗?
发布于 2014-04-22 00:23:50
# assumes Python 3.x
def read_nums(fname):
with open(fname) as inf:
return [int(i) for i in inf.read().split()]
def main():
fname = input("Name of input file: ")
nums = read_nums(fname)
print("Read {} numbers".format(len(nums)))
if __name__=="__main__":
main()发布于 2014-04-22 00:06:17
我不知道这些数字是如何出现在您的输入文件中。尽管如此,您还是可以对代码做一些更改:
return语句移出循环之外。number的一个更好的方法是:
如果number.isdigit():这给了你:
def make_number_list(a_file):
number_list= []
for line_str in a_file:
line_list = line_str.split()
for number in line_list:
if number.isdigit():
number_list.append(number)
return number_listhttps://stackoverflow.com/questions/23207971
复制相似问题