Python内置字典,名为 dict,在 Java 等其他语言中称为 map。它以 key-value 存值,具有极快的查找速度。
dict
示例如下:
对象名 = {Key:value,key:value,key:value}
若想取出指定 Key 对应的值,则有两种方式:
第一种:
对象名[Key]
在 dict 中,多次放入一个 Key值,后面的 value值 会把前面的 value值 冲掉。
若 Key 值不存在的话,上述写法会报错。可以用下面这种方式先判断当前 dict 中是否有需要的 Key 值:
'Key'in dict
第二种:
dict.get(Key)
若写入的 Key 值为在当前 dict 中不存在,则返回一个 None ,这在CPython中不显示。或者新指定一个 value,但不在 dict 中存储:
dict.get(Key,value)
若想删除一个 key,写法如下:
dict.pop(key)
删除 key 时,对应的 value 也会被删除。
和list比较,dict有以下几个特点:
查找和插入的速度极快,不会随着key的增加而变慢;需要占用大量的内存,内存浪费多。
而list相反: 查找和插入的时间随着元素的增加而增加; 占用空间小,浪费内存很少。
可以这么说,dict 是用空间来换取时间。使用的时候要注意,dict的 key 值是唯一的,且 key 值不可变。
set
set 和 dict 类似,也是一组 key 的集合,但不存储 value 。
要创建一个 set ,需要提供一个 list 作为输入集合,写法如下:
set(list)
使用下列方法可以在 set 中添加 key 值,可以重复添加同一个 key 值,但没有效果:
set.add(key)
使用下列方法可以删除指定 key 值:
set.remove(key)
set 可以看成数学上无序且无重复元素的集合,因此,它可以做数学上交集和并集的操作,示例如下:
以上述为例子, s 和 s2 为 set类型元素集合。单个的 & 连接在两个集合间,表示 交集 ,交集是两个集合中都包含的元素,如:2 和 3;单个的 | 连接在两个集合间,表示 并集 ,并集是两个集合中所有的元素,相同元素只显示一个,不同元素都显示。如:1 、2 、3 、4 。
总结一下:
list 集合,主要特征为 [ 1,2,3] ;
tuple集合,主要特征为 (1,2,3 );
dict集合,主要特征为 {'name' : banana , 'age' : 10 };
set集合,主要特征为 {1,2,3 }。
本篇结束,教材网址:https://www.liaoxuefeng.com, 继续学习~~