iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Python常用数据结构有哪些
  • 375
分享到

Python常用数据结构有哪些

2023-06-16 08:06:02 375人浏览 八月长安

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

摘要

本篇内容介绍了“python常用数据结构有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Python 常用数据结构学习目的这个专题,尽量

本篇内容介绍了“python常用数据结构有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

Python 常用数据结构学习目的

这个专题,尽量使用最精简的文字,借助典型案例盘点Python常用的数据结构。

如果你还处于Python入门阶段,通常只需掌握list、tuple、set、dict这类数据结构,做到灵活使用即可。

然而,随着学习的深入,平时遇到实际场景变复杂,很有必要去了解Python内置的更加强大的数据结构deque、heapq、Counter、OrderedDict、defaultDict、ChainMap,掌握它们,往往能让你少写一些代码且能更加高效的实现功能。

Python常用数据结构有哪些

学习目标

  • 学习数据结构第一阶段:掌握它们的基本用法,使用它们解决一些基本问题;

  • 学习第二阶段:知道何种场景选用哪种最恰当的数据结构,去解决题问题;

  • 学习第三阶段:了解内置数据结构的背后源码实现,与《算法和数据结构》这门学问里的知识联系起来,打通任督二脉。

下面根据定义的这三个阶段,总结以下10种最常用的数据结构:

1. list

基本用法 废话不多说,在前面单独有一个专题详述了list的使用列表专题

使用场景 list 使用在需要查询、修改的场景,极不擅长需要频繁插入、删除元素的场景。

实现原理  list对应数据结构的线性表,列表长度在初始状态时无需指定,当插入元素超过初始长度后再启动动态扩容,删除时尤其位于列表开始处元素,时间复杂度为O(n)

2. tuple

元组是一类不允许添加删除元素的特殊列表,也就是一旦创建后续决不允许增加、删除、修改。

基本用法 元组大量使用在打包和解包处,如函数有多个返回值时打包为一个元组,赋值到等号左侧变量时解包。

In [22]: t=1,2,3                                          In [23]: type(t)                               Out[23]: tuple

实际创建一个元组实例

使用场景 如果非常确定你的对象后面不会被修改,则可以大胆使用元组。为什么?因为相比于list, tuple实例更加节省内存,这点尤其重要。

In [24]: from sys import getsizeof                                                In [25]: getsizeof(list())                                                       Out[25]: 72 # 一个list实例占用72个字节  In [26]: getsizeof(tuple())                                                      Out[26]: 56 # 一个tuple实例占用56个字节

所以创建100个实例,tuple能节省1K多字节。

3. set

基本用法 set是一种里面不能含有重复元素的数据结构,这种特性天然的使用于列表的去重。

In [27]: a=[3,2,5,2,5,3]                                                          In [28]: set(a)                                                                  Out[28]: {2, 3, 5}

除此之外,还有知道set结构可用于两个set实例的求交集、并集、差集等操作。

In [29]: a = {2,3,5}                                                              In [30]: b = {3,4,6,2}                                                            In [31]: a.intersection(b) # 求交集                                                       Out[31]: {2, 3}

使用场景 如果只是想缓存某些元素值,且要求元素值不能重复时,适合选用此结构。并且set内允许增删元素,且效率很高。

实现原理 set在内部将值哈希为索引,然后按照索引去获取数据,因此删除、增加、查询元素效果都很高。

4. dict

基本用法 dict 是Python中使用最频繁的数据结构之一,字典创建由通过dict函数、{}写法、字典生成式等,增删查元素效率都很高。

d = {'a':1,'b':2} # {}创建字典  # 列表生成式 In [38]: d = {a:b for a,b in zip(['a','b'],[1,2])}                               In [39]: d                                                                       Out[39]: {'a': 1, 'b': 2}

使用场景 字典尤其适合在查询多的场景,时间复杂度为O(1). 如LeetCode第一题求解两数之和时,就会使用到dict的O(1)查询时间复杂度。

同时,Python类中属性值等信息也都是缓存在__dict__这个字典型数据结构中。

但是值得注意,dict占用字节数是list、tuple的3、4倍,因此对内存要求苛刻的场景要慎重考虑。

In [40]: getsizeof(dict())                                                       Out[40]: 248

实现原理 字典是一种哈希表,同时保存了键值对。

“Python常用数据结构有哪些”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

--结束END--

本文标题: Python常用数据结构有哪些

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

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

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Python常用数据结构有哪些
    本篇内容介绍了“Python常用数据结构有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Python 常用数据结构学习目的这个专题,尽量...
    99+
    2023-06-16
  • Python中的常用数据结构有哪些?
    Python是一种高级编程语言,广泛应用于数据分析、机器学习、Web开发等领域。在Python中,有许多常用的数据结构,用于存储和处理数据。本文将介绍几种常见的数据结构,并提供相应的代码示例。列表(List):列表是Python中最常用的数...
    99+
    2023-10-22
    列表(list) 元组(tuple) 字典(Dict)
  • java常用数据结构有哪些
    Java常用的数据结构有以下几种:1. 数组(Array):一组连续的内存空间,用于存储同类型的数据。2. 链表(Linked Li...
    99+
    2023-08-23
    Java
  • python中常用的经典数据结构有哪些
    NumPy包中的数据结构NumPy中的数据结构,包括Ndarray、Matrix数组(Ndarray)创建Ndarray引入NumPy包,将其命名为np。在引入NumPy包后方可使用数组数据结构import numpy as np创建数组对...
    99+
    2023-05-14
    Python
  • 常见Redis数据结构有哪些
    本篇内容主要讲解“常见Redis数据结构有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“常见Redis数据结构有哪些”吧!什么是数据结构?有Java基础的应...
    99+
    2022-10-19
  • Python的字符串和常用数据结构有哪些
    本篇内容介绍了“Python的字符串和常用数据结构有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!使用字符串第二次世界大战促使了现代电子...
    99+
    2023-06-01
  • python中有哪些yaml数据结构
    这篇文章将为大家详细讲解有关python中有哪些yaml数据结构,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。1、数据结构(1)对象:键值对的集合(简称 "映射或字典")...
    99+
    2023-06-15
  • python线性数据结构有哪些
    python中的线性数据结构有堆栈、队列和链表三种堆栈堆栈是一种特殊的串列形式的数据结构,其特点是只能允许在链接串列或阵列的一端进行加入资料和输出资料的运算。队列队列是一种先进先出的线性表,队列允许在一端进行插入操作,而在另一端进行删除操作...
    99+
    2022-10-24
  • Javascript中有哪些常见的数据结构
    本篇文章为大家展示了Javascript中有哪些常见的数据结构,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。1.Stack(栈)堆栈遵循LIFO(后进先出)的原则。...
    99+
    2022-10-19
  • Java常见基础数据结构有哪些
    这篇文章主要介绍Java常见基础数据结构有哪些,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!栈:stack,又称堆栈,他是运算受限的线性表,其限制是仅允许在表的一端进行插入和删除操作,不允许在其他任何位置进行添加、查...
    99+
    2023-06-20
  • python中有哪些内置数据结构
    这篇文章给大家介绍python中有哪些内置数据结构,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。python的数据类型有哪些python的数据类型:1. 数字类型,包括int(整型)、long(长整型)和float(浮...
    99+
    2023-06-14
  • python异常处理结构有哪些
    python中常见的异常处理结构有以下几种try…except结构except语句中可以通过调用异常处理器对异常进行处理,从而继续往下执行程序。try…except结构使用方法:s = 'Hello girl!'try:print s[10...
    99+
    2022-10-11
  • 常用的Java数据结构知识点有哪些
    小编给大家分享一下常用的Java数据结构知识点有哪些,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!1. 数据结构分类按照线性和非线性可以将Java数据结构分为两大类:①线性数据结构:数组、链表、栈、队列②非线性数据结构:树...
    99+
    2023-06-29
  • java数据结构有哪些
    java中的数据结构有:1.ArrayList,链表;2.LinkedList,线性表;3.HashMap,提供了key-value键值对数据存储机制;4.HashSet,不允许存在重复元素;java中的数据结构有以下几种ArrayList...
    99+
    2022-10-23
  • golang有哪些数据结构
    golang中的数据结构有:1.string,字符串,内置类型,默认值为"";2.array,数组,具有相同唯一类型的一组已编号且长度固定的数据项序列;3.slice,切片,数组的抽象;4.map,集合,无序的、键值对的...
    99+
    2022-10-09
  • Java常见数据结构和算法有哪些
    Java常见的数据结构包括:数组、链表、栈、队列、树、图、堆、哈希表等。常见的算法有:排序算法(如冒泡排序、插入排序、选择排序、快速...
    99+
    2023-09-13
    Java
  • python不支持的数据结构有哪些
    python不支持char和byte类型的数据结构python中没有char和byte类型来保存单一字符或8比特整数,python中支持int、float、str、list、tuple、dict、set七种数据结构。...
    99+
    2022-10-12
  • Redis常用数据结构有哪些及怎么实现
    这篇文章主要介绍“Redis常用数据结构有哪些及怎么实现”,在日常操作中,相信很多人在Redis常用数据结构有哪些及怎么实现问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Re...
    99+
    2022-12-28
    redis
  • golang项目中有哪些常见的数据结构
    本篇文章为大家展示了golang项目中有哪些常见的数据结构,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。什么是golanggolang 是Google开发的一种静态强类型、编译型、并发型,并具有垃圾...
    99+
    2023-06-06
  • Java数据结构常见排序算法有哪些
    今天小编给大家分享一下Java数据结构常见排序算法有哪些的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。1、 认识排序在学校中...
    99+
    2023-07-05
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作