码迷,mamicode.com
首页 > 编程语言 > 详细

python——使用dict和set

时间:2020-12-24 11:36:11      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:数学   注意   ext   rgb   过滤   创建   增加   line   操作   

 

一.dict

 

1.dict的全称为dictionary(字典),包含key-value对(键-值对),具有极快的查找速度

定义一个姓名和年龄对应的dict:

1 #定义一个姓名和年龄的字典
2 >>> d={Rachel:18,Monica:20,Joey:17,Ross:25}

 

2.可以通过key直接找到对应的value

1 >>> d={Rachel:18,Monica:20,Joey:17,Ross:25}
2 >>> d[Ross]
3 25

 

3.key与value是一一对应的,一个key只能有一个value值,若给一个key赋多次值,只保留最后一个

1 >>> d[Ross]=30
2 >>> d[Ross]=31
3 >>> d[Ross]
4 31

 

4.如果字典里面不存在某一key就会报错

1 >>> d[Chandlar]
2 Traceback (most recent call last):
3   File "<stdin>", line 1, in <module>
4 KeyError: Chandlar

 

可以通过两种方法判断key是否存在:

 

第一种是通过 in 判断,若存在返回True,否则返回False

1 >>> Monica in d
2 True
3 >>> Chandlar in d
4 False

 

第二种是通过dict提供的 get()方法判断,若存在则返回对应的value,不存在返回None(注意:python交互环境中不显示结果)

1 >>> d.get(Monica)
2 20
3 >>> d.get(Chandlar)
4 >>>

 

5.删除一个键-值对,用 pop(key)方法,key对应的value也会删除

1 >>> d.pop(Monica)
2 20
3 >>> d
4 {Rachel: 18, Joey: 17, Ross: 31}

 

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

①查找和插入的速度极快,不会随着key的增加而变慢;

②需要占用大量的内存,内存浪费多。

所以,dict是一种用空间换取时间的方法。

需要注意的是,dict的key必须是不可变对象(可以是字符串、整数等类型,但不可以是一个list

 

 

 

二. set

 

1.set和dict类似,set也是一组key的集合,但是不存储value

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

1 >>> s=set([1,2,3])
2 >>> s
3 {1, 2, 3}

 

2.在set中没有重复的key,重复的key会被自动过滤

1 >>> s=set([1,2,3,3])
2 >>> s
3 {1, 2, 3}

 

3.用 add(key)方法向set里面添加key,重复添加不会有效果

1 >>> s.add(4)
2 >>> s
3 {1, 2, 3, 4}
4 >>> s.add(3)
5 >>> s
6 {1, 2, 3, 4}

 

4.使用 remove(key)方法删除key

1 >>> s.remove(1)
2 >>> s
3 {2, 3, 4}

 

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

1 >>> a=set([1,2,3])
2 >>> b=set([2,3,4])
3 >>> a&b
4 {2, 3}
5 >>> a|b
6 {1, 2, 3, 4}

 

python——使用dict和set

标签:数学   注意   ext   rgb   过滤   创建   增加   line   操作   

原文地址:https://www.cnblogs.com/canneddream/p/14158072.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!