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不可以放入可变对象

参考资料

最新文章

  1. C# Word中设置/更改文本方向
  2. HTML常用标签总结
  3. Access数据库多表连接查询
  4. [python]获取当前年月
  5. 【BZOJ】2761: [JLOI2011]不重复数字(set+巨水题+超坑题)
  6. ios开发--一个苹果证书怎么多次使用——导出p12文件
  7. java对象与xml相互转换 ---- xstream
  8. windows下安装tern for vim
  9. 两种画线算法(DDA&Bersenham)
  10. 【机器学习篇】--SVD从初始到应用
  11. Tallest Cow POJ - 3263 (区间点修改)
  12. PICE(3):CassandraStreaming - gRPC-CQL Service
  13. 锐捷 ac ap 连接 记录
  14. 【java排序】冒泡排序、快速排序
  15. Linux 普通进程 后台进程 守护进程(转)
  16. 【319】Python 通过 Twilio 发短信
  17. Java之JVM调优案例分析与实战(3) - 堆外内存导致的溢出错误
  18. [pixhawk笔记]6-uORB流程及关键函数解析
  19. linux密码修改实验
  20. Async异步委托

热门文章

  1. 析构方法 deinit
  2. python3 使用 zabbix_client模块
  3. GDAL VS2010 win7(64位)安装、使用说明(图文解析)
  4. Javac语法糖之其它
  5. 使用OpenGL绘制 shapefile文件 完成最基本的gis操作
  6. C++中各种类的大小
  7. IntelliJ IDEA使用心得之快捷键篇
  8. android studio 3.1.4下载安装配置(附旧版本下载地址)
  9. windows10下找回照片查看器的方法(仅作记录)
  10. kafka报错处理