作者flarehunter (Range)
看板Python
标题Re: [问题] 二维阵列问题
时间Sun Dec 24 11:26:12 2017
※ 引述《zxc45693 ()》之铭言:
: 我想要读取一个档案
: 假如那个档案有3列6行
: 第一行是名字後五行是数字
: 读取完後显示
: 并且在每一列最後面算出5个数字的平均值
: 我只想的到行跟列都固定的
: 请问如果行跟列为可变的该如何改
: 求各位老大教我
: https://i.imgur.com/RcLUjMn.jpg
1. 开档案用完之後记得要关档案 或是python有提供with 语法
ex:
with open('data.txt', 'r') as infile:
for line in infile:
print line
2. 名字和数字可以用list slice分开
ex:
entry = line.split(' ')
name, nums = entry[0], entry[1:]
甚至可以用map把所有的数字转成int
nums = map(int, nums)
or
nums = [int(num) for num in nums]
3. 算数列的平均可以直接用sum和len
ex:
s = [1, 2, 3]
avg = sum(s) / len(s)
4. 终於要回答重点了,其实你可以读一行算一行
ex:
for line in infile:
name, avg = Calculate(line) # 组合上面的语法应该可以写出这个吧
print('%s average: %s' % (name, avg))
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 61.231.177.14
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Python/M.1514085975.A.7BE.html