返回顶部
首页 > 资讯 > 后端开发 > Python >Python列表和集合效率源码对比分析
  • 246
分享到

Python列表和集合效率源码对比分析

2023-07-06 01:07:43 246人浏览 八月长安

Python 官方文档:入门教程 => 点击学习

摘要

这篇“python列表和集合效率源码对比分析”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Python列表和集合效率源码对比

这篇“python列表和集合效率源码对比分析”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Python列表和集合效率源码对比分析”文章吧。

数据查找效率

关于集合和列表数据查找效率差距到底有多大?先看一组实例:

import timeimport randomnums = [random.randint(0, 2000000) for i in range(1000)]list_test = list(range(1000000))set_test = set(list_test)count_list, count_set = 0, 0t1 = time.time()# 测试在列表中进行查找for num in nums: if num in list_test: count_list += 1t2 = time.time()for num in nums:# 测试在集合中进行查找 if num in set_test: count_set += 1t3 = time.time()# 测试在集合中进行查找print('找到个数,列表:{},集合:{}'.fORMat(count_list, count_set))print('使用时间,列表:{:.4f}s'.format(t2 - t1))print('使用时间,集合:{:.4f}s'.format(t3 - t2))

输出结果为:

找到个数,列表:515,集合:515使用时间,列表:7.7953s使用时间,集合:0.0010s

从上面例子可以清楚地看出,集合的查找效率远远高于列表,因此在不同的应用场景下,一定要选择合适的数据类型,在小数据量下看不出来性能区别,一旦换到大数据量下,就会变得差异性很大。

数据存储开销

集合的查找效率比列表要快得多,主要就是他们的存储原理不一样,集合需要消耗更多的空间来存储额外的信息,用空间开销来换时间效率,接下来我们通过getsizeof()函数看看他们存储开销的差异,getiszeof()函数是python的sys模块中用来获取对象内存大小的函数,返回的大小以字节为单位。

import sysimport randomlist_test = list(range(1000000))set_test = set(range(1000000))print('列表占用大小:', sys.getsizeof(list_test))print('集合占用大小:', sys.getsizeof(set_test))

输出结果为:

列表占用大小:9000112集合占用大小:33554656

从结果可以看出,同样的数据内容,集合存储的开销是列表的好几倍。

以上就是关于“Python列表和集合效率源码对比分析”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注编程网Python频道。

--结束END--

本文标题: Python列表和集合效率源码对比分析

本文链接: https://lsjlt.com/news/357121.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Python列表和集合效率源码对比分析
    这篇“Python列表和集合效率源码对比分析”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Python列表和集合效率源码对比...
    99+
    2023-07-06
  • Python列表和集合的效率对比
    程序运行效率程序的运行效率分为两种:第一种是时间效率,第二种是空间效率。时间效率被称为时间复杂度,而空间效率被称作空间复杂度。时间复杂度主要衡量的是一个程序的运行速度,而空间复杂度主要衡量一个程序所需要的额外存储空间。一个程序执行所耗费的时...
    99+
    2023-05-14
    列表 Python 集合
  • Python列表和集合的效率大比拼
    目录程序运行效率数据查找效率数据存储开销程序运行效率 程序的运行效率分为两种:第一种是时间效率,第二种是空间效率。时间效率被称为时间复杂度,而空间效率被称作空间复杂度。时间复杂度主要...
    99+
    2024-04-02
  • Java集合中contains方法的效率对比分析
    最近让部门技术大佬帮忙代码review的时候,他给我指出了一个小的技术细节,就是对于集合的contains方法尽量选用Set而不是List,平时没怎么注意,仔细看了下源码,大佬就是大...
    99+
    2024-04-02
  • python列表处理效率对比测试
    #!/usr/bin/env import datetime class adair: def test1(n): lst=[] for i in range(n*10000): ...
    99+
    2023-01-31
    效率 对比测试 列表
  • mybatis查询方式与效率高低源码对比分析
    这篇文章主要介绍“mybatis查询方式与效率高低源码对比分析”,在日常操作中,相信很多人在mybatis查询方式与效率高低源码对比分析问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”mybatis查询方式与效...
    99+
    2023-07-05
  • workerman和swoole源码对比分析
    这篇“workerman和swoole源码对比分析”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“workerman和swoo...
    99+
    2023-07-05
  • 大数组元素差异removeAll与Map效率源码对比分析
    本文小编为大家详细介绍“大数组元素差异removeAll与Map效率源码对比分析”,内容详细,步骤清晰,细节处理妥当,希望这篇“大数组元素差异removeAll与Map效率源码对比分析”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一...
    99+
    2023-07-05
  • Python中字典和列表性能的对比分析
    本篇文章为大家展示了Python中字典和列表性能的对比分析,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。Python列表和字典前面我们了解了 “大O表示法” 以及对不同的算法的评估,下面来讨论下 P...
    99+
    2023-06-15
  • Python列表、字典、元组和集合实例分析
    这篇文章主要介绍了Python列表、字典、元组和集合实例分析的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Python列表、字典、元组和集合实例分析文章都会有所收获,下面我们一起来看看吧。列表1.列表什么是列表...
    99+
    2023-06-30
  • MySQL多表关联on和where速度源码对比分析
    今天小编给大家分享一下MySQL多表关联on和where速度源码对比分析的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章...
    99+
    2023-03-24
    mysql where on
  • Pandas使用Merge与Join和Concat分别进行合并数据效率对比分析
    目录合并DF连接DFMerge和Join的效率对比在 Pandas 中有很多种方法可以进行dataframe(数据框)的合并。 本文将研究这些不同的方法,以及如何将它们执行速度的对比...
    99+
    2022-12-08
    Pandas Merge合并数据 Pandas Join合并数据 Pandas Concat合并数据
  • Python字符串,列表,字典和集合实例处理分析
    今天小编给大家分享一下Python字符串,列表,字典和集合实例处理分析的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。1.如何...
    99+
    2023-07-02
  • Python元素集合的列表切片实例分析
    今天小编给大家分享一下Python元素集合的列表切片实例分析的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。一、列表切片(Sl...
    99+
    2023-06-29
  • Python与sed,grep文本查找效率对比的示例分析
    小编给大家分享一下Python与sed,grep文本查找效率对比的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!测试文本:20w行,21M大 python...
    99+
    2023-06-13
  • Golang和Python爬虫的差异:编程难度、开发效率和代码可维护性对比
    Golang和Python爬虫的差异:编程难度、开发效率和代码可维护性对比 在当今互联网时代,爬虫技术的应用日益广泛,并且对于爬虫的开发语言也有了更高的要求。Golang和Python作为两种非常流行的编程语...
    99+
    2024-01-20
    Python Golang 爬虫
  • Python利用线性回归、随机森林等对红酒数据进行分析与可视化实战(附源码和数据集 超详细)
    需要源码和数据集请点赞关注收藏后评论区留言私信~~~ 下面对天池项目中的红酒数据集进行分析与挖掘 实现步骤 导入模块 颜色和打印精度设置 获取数据并显示数据维度 字段中英文对照表如下   然后利用describe函数显示数值属性的统...
    99+
    2023-08-31
    线性回归 数据挖掘 随机森林 python sklearn
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作