python 值相同,列分别相加?
待处理数据如下:
0.2 0.3 0.5 1
0.3 0.1 0.2 3
0.4 0.2 0.3 1
0.2 0.2 0.2 2
0.3 0.3 0.3 2
0.3 0.2 0.6 3
0.1 0.1 0.1 4
如果最后一列相同(全是整数),则前面的列分别相加,然后按照最后一列排序(从小到大)
结果:
0.6 0.5 0.8 1
0.5 0.5 0.5 2
0.6 0.3 0.8 3
0.1 0.1 0.1 4
我的代码(不含排序),这种解决方法不是很好,代码思路是先合并行,在打印(通过列举的办法)是否还有更好的办法?
with open('1.txt', 'r') as f:
alist = []
d = {}
lines = f.readlines()
for line in lines:
line = line.strip().split()
alist.append(line)
for i in alist:
try:
d[i[3]] += i[:-1]
except KeyError:
d[i[3]] = i[:-1]
for course, score in d.items():
if len(score) > 3:
print course, float(score[0]) + float(score[3]), float(score[1]) + float(score[4]), \
float(score[2]) + float(score[5])
else:
print course, ' '.join(score)
相关阅读:
关于位段的一个问题
Laravel中如果修改了数据库表格定义文件后做如何修改使之生效?
websocket连接提示400错误
假如函数名是变量,应该如何定义?
Mysql 更新同步到 redis 的问题
使用Juery的get方法向.aspx的服务页面发出请求,但是没有返回结果?
mongodb 更新数据问题?
年会视频工具
CSS3 Fullpage 3D转换效果
获取第三方天气时间等
visual studio中,查看动态二维指针数组的值。
批处理能否回显执行过的命令?
input select()方法调用后发生了什么
gulp插件livereload使用
yii 模块中的视图渲染问题
windows下执行react-native init 报错,求解决方法
asp.net开发如何处理图片并上传到七牛?
反馈一个提交问题页面的tab键问题
在学习bootstrap-stylus时遇到问题,求指点。
input 的 placeholder 和 value 行高不一致的问题?