当前位置: 首页 > 文档资料 > Python 学习笔记 >

dict

优质
小牛编辑
132浏览
2023-12-01

基本概要

它的原理类似于词典,也就是说有专门的目录页来查找,它并不需要从第一页翻到第二页等等到最后,它只需要查看自己的目录即可

语法:

d = {'abb':'12', 'dd':12}
d['abb']

其实类似于js中的对象

const a = {
  a1:func(){},
  b:12,
  c:'12333'
}
a.a1
a['a1']
let b = 'b'
a[b]

这就是js中的变量,其实很相似。 当然 js中还有map(当然数组对应的是set)它还能用其它类型的字符做键

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

'Thomas' in d
False

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

d.get('Thomas')
 d.get('Thomas', -1)
-1

要删除一个key,用pop(key)方法,对应的value也会从dict中删除

和list比较,dict有以下几个特点:

  • 查找和插入的速度极快,不会随着key的增加而变慢;
  • 需要占用大量的内存,内存浪费多。

而list相反:

  • 查找和插入的时间随着元素的增加而增加;
  • 占用空间小,浪费内存很少。

在Python中,字符串、整数等都是不可变的,因此,可以放心地作为key。而list是可变的,就不能作为key 也就是说,Python中的key是绝对不能变化的。

set

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

a = set([1,2,3])

跟dict和list等一样key不能重叠,更厉害的是它的value也不能一样,那么这样的话它的x和y就是唯一对应的了


a = set([1, 2 ,3])

>>> print(a)


{1, 2, 3}
  • 通过add(key)方法可以添加元素到set中,可以重复添加,但不会有效果
  • 通过remove(key)方法可以删除元素

可变对象和不可变对象

不可变

  • 字符
  • 数字

可变

  • list