Python自学记录——dict和set

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)

    Python自学记录——dict和set_第1张图片

使用下列方法可以删除指定 key 值:

set.remove(key)

    

set 可以看成数学上无序且无重复元素的集合,因此,它可以做数学上交集和并集的操作,示例如下:

    Python自学记录——dict和set_第2张图片

以上述为例子, 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, 继续学习~~

你可能感兴趣的:(学习)