import collections
import numpy as np
import random
import time def list_to_dict(lst):
dic = {}
for i in lst:
dic[i] = lst.count(i)
return dic def collect(lst):
return dict(collections.Counter(lst)) def unique(lst):
return dict(zip(*np.unique(lst, return_counts=True))) def generate_data(num=1000000):
return np.random.randint(num / 10, size=num) if __name__ == "__main__":
t1 = time.time()
lst = list(generate_data())
t2 = time.time()
print("generate_data took : %sms" % (t2 - t1)) # 本机实测0.12ms t1 = t2
d1 = unique(lst)
t2 = time.time()
print("unique took : %sms" % (t2 - t1)) # 本机实测0.42ms t1 = t2
d2 = collect(lst)
t2 = time.time()
print("collect took : %sms" % (t2 - t1)) # 本机实测1.25ms t1 = t2
d3 = list_to_dict(lst)
t2 = time.time()
print("list_to_dict took : %sms" % (t2 - t1)) # 本机实测...太慢了测不下去了 assert(d1 == d2)
assert(d1 == d3)

最新文章

  1. Questa Functional Verification-autocheck
  2. laravel增删改查
  3. fibonacci高精度加法
  4. c++实现简单计算器
  5. 【转】做产品VS做项目
  6. 使用ASP.NET实现Windows Service定时执行任务
  7. winform 两个TreeView间拖拽节点
  8. Java 多线程并发 Future+callable 实例
  9. 统计分析SQL Server Profiler 跟踪的SQL
  10. OO的ALV隐藏工具栏的form
  11. mysql如何直接查出从1开始递增的数
  12. JavaWeb学习日记----XML的解析
  13. leetcode-956. 最高的广告牌
  14. c# Mongodb批量更新
  15. Dubbo -- 系统学习 笔记 -- 安装手册
  16. atitit.提升开发效率---MDA 软件开发方式的革命(3)----自己主动化建表
  17. Kafka学习整理五(Consumer配置)
  18. jQuary总结4: jquery操作字符串
  19. luoguP4755 Beautiful Pair
  20. nodejs 并发控制

热门文章

  1. background-size在IE8不兼容问题
  2. [Java]Eclipse无法import “com.sun.management.OperatingSystemMXBean”的解决方法
  3. sqlserver创建触发器
  4. 使Win10用户获得特殊权限以便删除相应文件(夹)
  5. 手机屏幕材质详解(TFT,TPS,OLED,AMOLED等)
  6. Spring boot 配置异步处理执行器
  7. 安装python3.6 pip3 flake8
  8. RuntimeError: cryptography is required for sha256_password or caching_sha2_p
  9. ADO 输入输出文本及获取指定字符串
  10. django 数据库中中文转化为韩语拼音