Python之dict和set
2024-10-19 04:23:23
dict
Python内置了字典:dict的支持,dict全称dictionary,使用键-值(key-value)存储,具有极快的查找速度
1.例如:查找某位同学对应的成绩,使用“名字”-“成绩”的对照表,直接根据名字查找成绩,初始化如下:
>>>d = {'小明': 95, '小红':65, '小李': 88}
>>>print(d['小明'])
95
2.把数据放入dict的方法,除了初始化时指定外,还可以通过key放入:
>>>d = {'小明':0,'小红':65,'小李':88}
>>>d['小明'] = 98
>>>print(d['小明'])
98 #同时表明一个key只能对应一个value,所以,多次对一个key放入value,后面的值会把前面的值冲掉,98冲掉了前面的0
3.关于key的注意:
#避免key不存在造成的错误 #1.通过 in 判断key是否存在
>>>'小兰' in d
Fasle #2.二是通过dict提供的get()方法,如果key不存在,可以返回None,或者自己指定的value:
>>>d = {'小明':95,'小红':65,'小李':88}
>>>print('d[\'小明\'] =', d['小明'])
>>>print('d[\'小兰\'] =', d.get('小兰',-1))
d['小明'] = 95
d['小兰'] = -1 #注意返回None时,python交互环境不显示结果
ps:要删除一个key,用pop(key)
方法,对应的value也会从dict中删除
set
set和dict类似,也是一组key的集合,但不存储value。由于key不能重复,所以,在set中,没有重复的key。
1.list的创建(使用list作为输入集合)
>>>s = set([1,2,3,4,5,6])
>>>print(s)
{1,2,3,4,5,6}
注意,传入的参数[1, 2, 3]
是一个list,而显示的{1, 2, 3}
只是告诉你这个set内部有1,2,3这3个元素,显示的顺序也不表示set是有序的。。
并且重复的元素自动被过滤,只显示一个:
>>>s = set([1,2,3,4,5,6,6,6,6])
>>>print(s)
{1,2,3,4,5,6}
2.删除set元素和往set中添加元素(可重复添加,但是只显示一个)
#通过add()添加元素
>>>s = set([1,2,3,4,5,6])
>>>s.add(7)
>>>print(s)
{1,2,3,4,5,6,7}
#重复添加
>>>s = set([1,2,3,4,5,6])
>>>s.add(6)
>>>print(s)
{1,2,3,4,5,6}
#通过remove(key)删除set中元素
>>>s = set([1,2,3,4,5,6])
>>>s.add(6)
>>>print(s)
{1,2,3,4,6}
3.set可以做交集、并集运算
#set交集、并集运算
>>>s1 = set([1,2,3,4,5,6])
>>>s2 = set([4,5,6,7])
>>>s1 & s2
>>>s1 | s2
>>>print( s1 & s2)
>>>print( s1 | s2)
{4, 5, 6}
{1, 2, 3, 4, 5, 6, 7}
注:set 和 dict不可以放入可变对象
参考资料
最新文章
- C# Word中设置/更改文本方向
- HTML常用标签总结
- Access数据库多表连接查询
- [python]获取当前年月
- 【BZOJ】2761: [JLOI2011]不重复数字(set+巨水题+超坑题)
- ios开发--一个苹果证书怎么多次使用——导出p12文件
- java对象与xml相互转换 ---- xstream
- windows下安装tern for vim
- 两种画线算法(DDA&;Bersenham)
- 【机器学习篇】--SVD从初始到应用
- Tallest Cow POJ - 3263 (区间点修改)
- PICE(3):CassandraStreaming - gRPC-CQL Service
- 锐捷 ac ap 连接 记录
- 【java排序】冒泡排序、快速排序
- Linux 普通进程 后台进程 守护进程(转)
- 【319】Python 通过 Twilio 发短信
- Java之JVM调优案例分析与实战(3) - 堆外内存导致的溢出错误
- [pixhawk笔记]6-uORB流程及关键函数解析
- linux密码修改实验
- Async异步委托