python之dict与set

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python之dict与set相关的知识,希望对你有一定的参考价值。

dict全称dictionary,使用键-值(key-value)存储,书写一个dict

name={:::}
(name[])

当数据量大时,字典比列表和元组速度快

dict实现原理和查字典是一样的,假设字典包含一万字,list查询方法是一个一个查找,知道找到为止,dict是查这个字对应的页码,然后直接找到该页。


第二种方式书写字典

name['xy']=24


调用与更新。

name['xy']

name['xy']=55

name['xy']

如果键不存在,会报异常

>>> name['sss']

Traceback (most recent call last):

  File "<pyshell#22>", line 1, in <module>

    name['sss']

KeyError: 'sss'


要避免key不存在的错误,有两种办法,一是通过in判断key是否存在,

技术分享图片

二是通过dict提供的get()方法,如果key不存在,可以返回None(交互模式不返回),或者自己指定的value

技术分享图片


dict删除pop()

技术分享图片

dict和list与tuple的优缺点

dict查询速度快,占用大量内存,list与tuple查询速度慢,占用内存小

dict的keys是不可变的,因此list不能作为dict的key



set

set与dict类似,也是一组key的集合,但是不存储value,由于key不能重复,所以,在set中,没有重复的key,(无顺序的)

要创建一个set,需要提供一个list作为输入集合

技术分享图片

通过add(key)方法可以添加元素到set中,可以重复添加,但不会有效果

技术分享图片

通过remove(key)方法可以删除元素

技术分享图片

set可以看成数学意义上的无序和无重复元素的集合,因此,两个set可以做数学意义上的交际,并集等操作:

技术分享图片


str.replace()替换等于重新赋值,list.sort()排序


以上是关于python之dict与set的主要内容,如果未能解决你的问题,请参考以下文章

python中几个常见的黑盒子之“字典dict” 与 “集合set”

python基础数据类型之字典dict和集合set及其他(for,enumerate,range)。

Python snippet(代码片段)

Python修行之Dict初识

python基础之dict和set

Python 学习笔记 之 day4 sict和set