python 获得列表中每个元素出现次数的最快方法
2024-09-03 09:16:30
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)
最新文章
- Questa Functional Verification-autocheck
- laravel增删改查
- fibonacci高精度加法
- c++实现简单计算器
- 【转】做产品VS做项目
- 使用ASP.NET实现Windows Service定时执行任务
- winform 两个TreeView间拖拽节点
- Java 多线程并发 Future+callable 实例
- 统计分析SQL Server Profiler 跟踪的SQL
- OO的ALV隐藏工具栏的form
- mysql如何直接查出从1开始递增的数
- JavaWeb学习日记----XML的解析
- leetcode-956. 最高的广告牌
- c# Mongodb批量更新
- Dubbo -- 系统学习 笔记 -- 安装手册
- atitit.提升开发效率---MDA 软件开发方式的革命(3)----自己主动化建表
- Kafka学习整理五(Consumer配置)
- jQuary总结4: jquery操作字符串
- luoguP4755 Beautiful Pair
- nodejs 并发控制
热门文章
- background-size在IE8不兼容问题
- [Java]Eclipse无法import “com.sun.management.OperatingSystemMXBean”的解决方法
- sqlserver创建触发器
- 使Win10用户获得特殊权限以便删除相应文件(夹)
- 手机屏幕材质详解(TFT,TPS,OLED,AMOLED等)
- Spring boot 配置异步处理执行器
- 安装python3.6 pip3 flake8
- RuntimeError: cryptography is required for sha256_password or caching_sha2_p
- ADO 输入输出文本及获取指定字符串
- django 数据库中中文转化为韩语拼音