第六章 数据结构
6.1 数据结构
Python 有四种数据结构,分别是:列表、字典、元组,集合。
6.2 列表
a. 特征:
列表中的每一个元素都是可变的;
列表中的元素是有序的,也就是说每一个元素都有一个位置;
列表可以容纳 Python 中的任何对象
b. 列表的增删查改
插入的方法:insert (位置, 内容); 在使用 insert
方法的时候,必须指定在列表中要插入新的元素的位置,插入元素的实际位置是在指定位置元素之前的位置,如果指定插入的位置在列表中不存在,实际上也就是超出指定列表长度,那么这个元素一定会被放在列表的最后位置。
删除的方法:remove(内容) or 使用 del 关键字来声明
查找:与字符串的分片十分相似
修改:直接fruit[0] = 'Grapefruit'
6.3 字典
a. 特征:
字典中数据必须是以键值对的形式出现的;
逻辑上讲,键是不能重复的,而值可以重复;
字典中的键(key)是不可变的,也就是无法修改的;而值(value)是可变的,可修改的,可以是任何对象
b. 字典的增删改查
增加:字典并没有一个可以往里面添加单一元素的“方法”,添加多个元素的方法 update()
。
删除:使用 del
方法 例如:del NASDAQ_code['FB']
方括号中必须放入键
6.4 元组
元组其实可以理解成一个稳固版的列表,因为元组是不可修改的; 可以查看索引
6.5 集合
集合不能被切片也不能被索引
a_set = {1,2,3,4}
a_set.add(5) #向集合中添加元素
a_set.discard(5) #删除集合中的元素
6.6数据结构的一些技巧
多重循环
sorted
函数按照长短、大小、英文字母的顺序给每个列表中的元素进行排序。sorted
函数并不会改变列表本身,你可以把它理解成是先将列表进行复制,然后再进行顺序的整理.
在整理列表的过程中,如果同时需要两个列表,可以用到 zip
函数
推导式(List comprehension)/列表的解析式
列表推导式的用法也很好理解,可以简单地看成两部分。红色虚线后面的是我们熟悉的 for 循环的表达式,而虚线前面的可以认为是我们想要放在列表中的元素,在这个例子中放在列表中的元素即是后面循环的元素本身
字典推导式的方式略有不同,主要是因为创建字典必须满足“键-值”的两个条件才能达成
循环列表时获取元素的索引
采用函数 enumerate
6.7 综合项目