Python基础-dict和set
2018-03-07 16:20
579 查看
1.dict
Python内置了字典:dict的支持,使用键值存储,查找速度快比如说,我们要从字典里的一万个字里面查找一个字,list就相当于从字典的第一页开始,一页一页往后翻,list越大,查找越慢而dict相当于查找这个字的部首,根据部首查找字,这种查找速度就非常快d = {'周杰伦':45,'周润发': 65,'周星驰':60}print(d['周杰伦'])print(d['周润发'])print(d['周星驰'])结果:45 65 60一个key只能对应一个value,所以,多次对一个key放入value,后面的值会覆盖前面的值#向字典里放入一个新的元素d['周华健'] = 62print(d)d['周华健'] = 68print(d)
结果:{'周杰伦': 45, '周润发': 65, '周星驰': 60, '周华健': 62} {'周杰伦': 45, '周润发': 65, '周星驰': 60, '周华健': 68}
#如果key不存在,就会报错 print(d['周建'])
结果:Traceback (most recent call last): File "/Users/zhoujian/Python/Demo/dict.py", line 19, in <module> print(d['周建']) KeyError: '周建'
#通过2种方法避免key不存在的错误 if '周建' in d: print(d['周建']) else: print('周建不存在字典d中') if d.get('周建') != None: print(d['周建']) else: print('周建不存在字典d中')
结果:周建不存在字典d中 周建不存在字典d中
#要删除一个key,用pop(key)方法,对应的value也会从dict中删除: print(d) d.pop('周星驰') print(d)
结果:{'周杰伦': 45, '周润发': 65, '周星驰': 60, '周华健': 68} {'周杰伦': 45, '周润发': 65, '周华健': 68}
dict: 查找和插入的速度极快,不会随着key的增加而变慢; 需要占用大量的内存,内存浪费多。
list: 查找和插入的时间随着元素的增加而增加; 占用空间小,浪费内存很少。
d = {'周杰伦':45,'周润发': 65,'周星驰':60} print(d['周杰伦']) print(d['周润发']) print(d['周星驰']) print('-------------------------------') #向字典里放入一个新的元素 d['周华健'] = 62 print(d) d['周华健'] = 68 print(d) print('-------------------------------') #如果key不存在,就会报错 #print(d['周建']) print('-------------------------------') #通过2种方法避免key不存在的错误 if '周建' in d: print(d['周建']) else: print('周建不存在字典d中') if d.get('周建') != None: print(d['周建']) else: print('周建不存在字典d中') print('-------------------------------') #要删除一个key,用pop(key)方法,对应的value也会从dict中删除: print(d) d.pop('周星驰') print(d)
2.set
set和dict类似,也是一组key的集合,但不存储value,key不能重复要创建一个set,需要提供一个list作为输入集合s = set([1,2,3]) print(s)
结果:{1, 2, 3}
#重复元素在set中会被自动过滤s = set([1,1,2,2,3,3])print(s)
结果:{1, 2, 3}
#通过add(key)方法可以添加元素到set中,可以重复添加,但不会有效果s = set([1,2,3])s.add(4)print(s)
结果:{1, 2, 3, 4}
#通过remove(key)方法可以删除元素:s.remove(4)print(s)
结果:{1, 2, 3}
#交集和并集运算s1 = set([1,2,3])s2 = set([3,4,5])#交集运算print(s1 & s2)#并集运算print(s1 | s2)
结果:{3}{1, 2, 3, 4, 5}
print('-------------------------------1')s = set([1,2,3]) print(s)print('-------------------------------2')#重复元素在set中会被自动过滤s = set([1,1,2,2,3,3])print(s)print('-------------------------------3')#通过add(key)方法可以添加元素到set中,可以重复添加,但不会有效果s = set([1,2,3])s.add(4)print(s)print('-------------------------------4')#通过remove(key)方法可以删除元素:s.remove(4)print(s)print('-------------------------------5')#交集和并集运算s1 = set([1,2,3])s2 = set([3,4,5])#交集运算print(s1 & s2)#并集运算print(s1 | s2)
相关文章推荐
- 我的python3基础笔记之 【dict和set】 02
- python3基础: 元组tuple、 列表list、 字典dict、集合set。 迭代器、生成器
- python基础——使用dict和set
- Python3学习笔记【基础3--list,tuple,if条件判断,for/while循环,dict字典,set集合】
- python基础之dict和set
- python基础学习——列表(list), 元祖(tuple), 字典(dict), 字符串(string), 集合(set) 介绍及相互转换
- Python3 基础:dict和set
- python基础2(dict—set—函数—切片—迭代—列表range)
- python基础数据结构——列表(list), 元祖(tuple), 字典(dict), 字符串(string), 集合(set) 介绍及相互转换
- python基础之Dict和Set类型
- Python基础入门之Dict和Set类型二
- Python基础——list、tuple、dict、set
- 一、python基础笔记(输入输出、list、touple、dict、set)
- 【学习笔记】Python基础-字典Dict和Set和List与Str扩展
- Python基础6dict+set类型
- Python基础数据结构之数据转换(Dict,Set,Tuple,List)
- python基础III(dict、set、函数)
- 廖雪峰python3.6教程笔记3-Python基础之使用list, tuple, dict和set
- 第四篇:python基础之dict、set及字符
- 【Python】基础学习——列表(list),元祖(tuple),字典(dict),字符串(string),集合(set)