Python数据结构:如何快速学习

本文详细介绍了Python中的五种基本数据结构:字符串、列表、元组、字典和集合。强调了它们的可变性、操作方式及应用场景。字符串是不可变序列,适合查询;列表是可变序列,支持增删改查;元组类似列表但不可变;字典是可变的键值对,提供快速查找;集合用于存储无序且不重复的元素。通过对比分析,帮助读者快速掌握这些数据结构的特点和操作技巧,为后续的Python编程奠定坚实基础。


如何快速学习Python数据结构

从定义开始

字符串:不可变的序列
列表:可变的序列
元组:不可变的序列
字典:可变的键值对映射关系
集合:可变的非序列

对于这些数据结构要学习的其实就是对它们中的元素进行添加、删除、修改、查询的功能。也就是增、删、改、查。

第一:可变的就有增、删、改、查的全部功能,不可变的就没有增、删、改的功能。

第二:序列的是通过索引和切片来查询元素的,不是序列的键值对映射关系是通过键获取值的。

第三:集合即不是序列也没有键值对映射关系,因此无法从集合中获取元素。

从以上三点可以从大方向掌握对这五种数据结构的基本操作:

  • 字符串是不可变的序列,因此不能对字符串中的元素进行添加、删除、修改,只能从字符串中通过索引和切片获取(也就是查询元素),字符串的重点在字符串的函数,差不多有30多个是要熟练使用。
  • 列表是可变的序列。因此可以对列表中的元素进行添加、删除、修改,查询的。每种操作都有对应的函数,例如添加元素可以用append()、insert()、extend(),每个函数都有自己的特点,满足在不同的情况中使用。同样删除也有对应的函数,需要先把这些功能搞清楚,再去了解函数的语法。列表元素修改的原理就是为这个索引位置重新赋值,先使用索引定位到这个位置,然后使用赋值号’=‘赋值即可。例如list1[0] = ‘a’。
  • 元组是不可变的序列。因此元组没有对元素增、删、改的功能,只能使用索引和切片对元素进行查询。除了增删改外,其他功能基本和列表一样。
  • 字典是可变的键值对映射。可以对键值对进行添加、删除、修改,查询。然后会发现一个很有趣的操作,例如dict1[‘键1’]=’值‘。如果这个键不存在,就添加,如果存在这个键就修改,这两个功能语法一样。其次查询也可以称为获取,直接使用键获取就可以。
  • 集合可以看错是只有键没有值的字典,字典的键又不能重复,因此集合可以用来去掉重复值。集合是可变的,因此可以添加删除元素。但是由于集合不是序列没有索引,也没有键值对的关系,因此无法从集合中查询元素,因此也没有办法修改。修改的前提是要找到这个元素,然后重新赋值。

通过对比可以很快将这些数据结构的操作记住,然后再去使用具体的函数进行操作,至于函数的语法是在不断的使用过程中记忆的。千万不要死记硬背函数语法!!!

对比优劣

列表VS字符串

  1. 列表和字符串都是序列,元素之间有先后顺序关系。
  2. 字符串是不可变的序列,列表是可变的序列。
  3. 字符串中每个元素只能存储字符,而列表可以存储任意类型。
  4. 列表和字符串都是可迭代对象。
  5. 可以将多个字符串拼接为一个。函数:result = " ".join(seq)

字典 VS 列表

  1. 都是可变容器。
  2. 获取元素方式不同,列表用索引,字典用
  3. 字典的插入,删除,修改的速度快于列表。
  4. 列表的存储是有序的,字典的存储是无序的。
  5. 总结:
    ​ 列表:
    ​ 优点:因为根据索引获取元素,所以查找更为灵活(第一个、最后一个…)
    ​ 缺点:查找速度不如字典快,根据索引查找代码可读性不高
    ​ 适用性:存储单一维度的数据(疫情信息)
    ​ 字典:
    ​ 优点:因为根据键获取元素,所以查找速度快、代码可读性高.
    ​ 缺点:获取元素不如列表灵活
    ​ 适用性:存储多个维度的数据(地区、新增、确诊、治愈)

掌握以上特点,建立自己的知识框架,然后再将对应功能的函数添加都这个知识框架中,就可以迅速的掌握这些数据结构了。
知识框架如图所示:
在这里插入图片描述
这部分内容是python基础中非常重要的基础,必须数量使用各种操作,才能展开后面的应用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值