有趣的题001
来源:互联网 发布:js dom添加点击事件 编辑:程序博客网 时间:2024/05/15 06:48
zhangsan 98
lisi 25
wangwu 34
zhangsan 76
zhangsan 36
zhangsan 54
lisi 68
zhangsan 66
lisi 25
zhangsan 83
lisi 99
wangwu 76
zhuliu 87
需求的把每个人的多次成绩取平均值,并输出有几次成绩
按成绩从高到低输出
结果类似这样
[‘zhangsan’, 68.83333333333333, 6]
[‘wangwu’, 55.0, 2]
[‘lisi’, 54.25, 4]
[‘zhuliu’, 8.0, 1]
def qsort(L): if len(L) <= 1: return L return qsort([lt for lt in L[1:] if lt[1] > L[0][1]]) + [L[0]] + qsort([ge for ge in L[1:] if ge[1] <= L[0][1]])def xxx(fp): reads = fp.readlines() fp.close() for mm in range(1): all = {} for i in range(len(reads)): old = reads[i][:-1].split() if old[0] not in all.keys() : all[old[0]] = old[1:]+[1] else: all[old[0]] = [(int(all[old[0]][0])+int(old[1])),all[old[0]][1]+1] end = [] for i,j in all.items(): j = [int(j[0])/j[1],j[1]] all[i]=j end.append([i]+j) e_end = qsort(end) for i in e_end: print i passt1 = time.time()xxx( fp = open('/Users/zijiawang/Downloads/test', 'r'))t2 = time.time()print ''print t2-t1
冒泡法 和 快排,130万行数据都需要3.5秒左右。 看来优化还得从结构上优化。
阅读全文
2 0
- 有趣的题001
- 一道有趣的题
- 有趣的题
- 有趣的递归题
- 有趣的算法题
- 有趣的算法题
- 有趣的一道题
- 一个有趣的SQL题
- 一道有趣的java题
- 一道有趣的笔试题
- 一道有趣的算法题
- 一条有趣的概率题
- 一道有趣的sql题
- 一道有趣的sql题
- 一个有趣的编程题
- 一道有趣的算法题
- 几个有趣的小题
- 一道有趣的笔试题
- 打印杨辉三角
- 今天,配置mysql及相关。(mac环境下navicat Premium)
- 大话数据结构 第二章 算法(读书笔记)
- NBUT1639大还是小?(细节)
- 在 Linux 上安装和配置 JDK
- 有趣的题001
- Win10下安装Cisco VPN Client终极解决方法
- Python 边做边学 9.4 数据库操作--排序条件单元(Qorder)
- 2017 Multi-University Training Contest
- 慢性腹泻(肠易激综合症)
- Android api23-25 实现闪光灯控制
- [逆向破解]使用ESP定律手动脱-中国菜刀-壳
- 1005(三维树状数组+区间更新,单点求值)
- RestTemplate使用