回顾 Python 102
https://zhuanlan.zhihu.com/p/292964453
上一篇文章讲的是Python一些最基本的语法框架。我不打算细说这些知识点。事实上,与之相关的知识都可以在网上找到。比如廖雪峰的官方网站,菜鸟教程等等。网上也有一些免费的资源与网课,非常方便。
在有了对Python词汇的掌握之后,我们把重点主要放在数据这一块。
因为Python的核心就是:
- 获取输入
- 改变输入
- 产生输出
因此,变量等其他内在词汇是独属于Python的,而数据作为一种输入,Python对于数据的存放与处理是相对而言更为重要的。只有当一切信息安排妥当之后,Python才会如鱼得水地去利用信息完成任务。
Python事先也为即将输入的数据提供了容器。这当然是为了处理起来更方便一些。
![f35612eea6f6bf7d83e1629c7d33d2a4.png](https://i-blog.csdnimg.cn/blog_migrate/acb3c800438dd8081fa3ffcebbe03d41.jpeg)
我们要对其进行操作,一定要按照某个程序,即先用容器把数据装好,之后创建一个变量(盒子),把容器放入盒子里。之后,对数据进行处理时,Python只需要对此变量进行处理就可以了。
List 列表,是一种有序的集合,可添加,可删除元素。(假设此变量的变量名为 lb)
- len() 获取长度
- lb = [1, 2, 3]
- lb[0], lb[-1], etc. 索引
- lb. append() 追加元素到末尾
- lb. insert(1, xxx) 插入元素到指定位置
- lb. pop() 删除末尾元素
- lb. pop(i) 删除特定位置元素
- lb[1] = xxx 直接替换元素
list里的元素可以是任何一种数据类型,也可以是一个容器。
Tuple 元组,一种有序的列表,但是不可添加与删除元素。(假设此变量名为yz)
- yz = (1, 2, 3) 举例
tuple的核心是“指向不变”(来自于廖雪峰),即tuple的每个元素,指向永远不变。这是它不可变的属性。因此tuple实际上更为安全。
Dict 字典。顾名思义,dict起的是字典的作用。它使用(key—value,键—值)储存。即,我们根据key的位置,可以得到与之对应的value。(假设变量的变量名为zd)
- zd = {'A' : 1, 'B' : 2}
- 输入 zd['A'] ,可以得到结果:1
- 一个key对应一个value,因此会存在冲刷掉前面value的现象
- 'C' in zd 判断此key是否存在
- zd. get('A')
- zd. pop('A') 删除key
补充:dict实际上是使用空间换取时间的方法(来自于廖雪峰)。同时,dict的key是不可变对象。因此列表list不可以作为key。通过key计算位置的算法称为哈希算法(Hash)
set是一组key的集合,不存储value。两个特征:
- 因为key无重复,所以set中没有重复的key。重复元素自动在set中被过滤。
- 同时set也并不是有序的。
因为set具备无序且无重复,所以set之间可以作集合的运算,比如交集与并集等。
(假设变量的变量名为jh)
- jh = set ([1, 2, 3]) 要创建一个set,需要提供一个list作为输入集合
- jh. add(key) 添加key
- jh. remove(key) 删除key
- jh1 & jh2 并集
- jh1 | jh2 交集
本文对四种数据容器作了简单总结与介绍。
list的核心是可变,有序。
tuple的核心是“指向不变”。
dict的核心是快速查找,key为不可变对象。
set的核心是无重复与无序。