散列类型

# # 散列类型,集合、字典、逻辑运算符

# # 集合,增,删,改,查 ,特殊(集合三大特性,唯一性,无序性,确定性)

# a = {}

# print(type(a)) # <class 'dict'> 里面没有值时就是字典

# a = {1,2} # 用{}必须里面加值,或者用set(),都代表是集合

# print(type(a)) # <class 'set'> 里面有值时就是集合

# # a = {1,1,2,3,4,5,6,6} # 唯一性,用的最多主要是去重复的内容

# print(a) # {1, 2, 3, 4, 5, 6} 将集合重复的内容去掉,唯一性

# a = {'hello',1,2,3,3,4,5,7} # 无序性

# print(a) #{1, 2, 3, 4, 5, 7, 'hello'} 将集合的内容重复去掉,且无序

# a = {[1,2,3,4,5],1,2,3,4,6} # 确定性,集合无法用索引取值,必须先转成列表

# print(a) # 直接报错,因为里面不能有可变类型的数据,只能是确定性的数据

# # 运算,交(&),并(|),差(-)

# a = {2,3,4,5,6,7}

# b = {4,5,6,7,6,7,8}

# print(a & b) # {4, 5, 6, 7} 找出相同的数

# print(a | b) # {2, 3, 4, 5, 6, 7,8} 减掉相同的数

# print(a - b) # {2, 3} 只保留对方没有的单独的数

# print(b - a) # {8} 只保留对方没有的单独的数

# # 增加元素到集合add

# a = {2,3,4,5,6,7}

# a.add('f') # add专用到集合,增加到集合的后面

# print(a) # {2, 3, 4, 5, 6, 7, 'f'}

# # 删除pop\remove

# a = {'he',2,3,4,5,6,7,8,9} # pop还有个remove,也是删除

# print(a.pop()) # pop专用到集合,因为集合是无序的,所以是随机删除

# print(a)  # {3, 4, 5, 6, 7, 8, 9, 'he'}无法指定删除某个元素

# # 修改update

# a = {'he',2,3,4,5,6,7,8,9}

# a.update(['hello']) # 类似增加

# print(a) # {2, 3, 4, 5, 6, 7, 8, 9, 'he', 'hello'}

# # 查isdisjoint

# x = {'app','did','cod'}

# y = {'app','dde','dre'}

# print(x.isdisjoint(y)) # False 有交集相同返回False,否则就True

# # 查看该对象所包含的方法名dir()

# a = [1,2,3,4,5]

# print(dir(a)) # 就是查看列表中包含了哪些操作方法

# # 自动排序

# a = [1,2,53,44,35,78]

# a.sort() # 按大小排序

# print(a) #[1, 2, 35, 44, 53, 78]

# a.sort(reverse=True) # 加了这个后变成反序排列

# print(a) # [78, 53, 44, 35, 2, 1]

# # 字典,定义,增,删,改,查

# # 定义,{},dict()共两种方式

# a = {'yqbi':'value1','age':18,'sex':'man'}

# '''

# 'age'----key(键)

# 18 ------value(值)

# : -------对

# '''

# # 增,通过setdefault来查的,都是查键值有则查,无则增加

# print(a.setdefault('age')) # 18

# print(a) # {'yqbi': 'value1', 'age': 18, 'sex': 'man'}

# print(a.setdefault('18')) # None,因为查的是值,所以无法查到,并新增一组

# print(a) # {'yqbi': 'value1', 'age': 18, 'sex': 'man', '18': None}

# # 删,clear,pop,popitem,

# a = {'yqbi':'value1','age':18,'sex':'man'}

# print(a.clear()) # None

# print(a.pop('age')) # 18 一定要传入指定的K值,才能删除键值对

# print(a) # {'yqbi': 'value1', 'sex': 'man'}

# a.popitem() # 基本是删除字典里最后一组键值队

# print(a) # {'yqbi': 'value1', 'age': 18},不用指定元素,随机删除

# # 改,有则改,无则增,原始有的K值就可以直接改,否则就直接增加

# a = {'yqbi':'value1','age':18,'sex':'man'}

# a.update({'age': 'dc'})

# print(a) # {'yqbi': 'value1', 'age': 'dc', 'sex': 'man'}

# # 查,get,keys,values,items 查比较重要,常用的多

# a = {'yqbi':'value1','age':18}

# print(a.get('age')) # 18 通过K值查到键值

# print(a.get('age1','hoho')) # hoho 当不到相对应K值时,直接传自己带的K值,不会报错

# print(a.keys()) # dict_keys(['yqbi', 'age']) 查看所有K值

# print(list(a.keys())) # ['yqbi', 'age'] 转换成列表

# print(list(a.values())) # ['value1', 18] 查看所有键值,并转成列表

# print(a.items()) # dict_items([('yqbi', 'value1'), ('age', 18)])

# print(list(a.items())) # [('yqbi', 'value1'), ('age', 18)] 将字典键值对转换成列表元组查看

# # 除了列表可以索引,其它的集合,字典都是无序的,无法索引

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容