基础数据类型(三)

  • 字典
  • 字典的增删改查
  • 字典的其他方法
  • 字典的嵌套
  • 集合

字典

dic={'键':'值',}

键:不可变数据类型,可哈希

值:任意

字典的增删改查

# dic={
#     1:'你好',
#     True:'Hello',
#     'dict':'get',
#     1:'HI'
# }
# 增
# print(dic)#结果{1: 'HI', 'dict': 'get'}    在字典中True就是1,后边的1会覆盖前面的
# dic[2]='大家好'#通过指定键值添加
# print(dic)#结果{1: 'HI', 'dict': 'get', 2: '大家好'}

# print(dic.setdefault('dict'))#setdefault方法,写存在的键得到的是值
# print(dic.setdefault(' '))#写不存在的键,返回值为None
# print(dic.setdefault('get','post'))#写不存在的键和值,返回的是值
# print(dic)#可以通过sedefault('','')来添加
# dic={
#     1:'你好',
#     True:'Hello',
#     'dict':'get',
#     1:'HI'
# }
# 删
# del dic#删除整个dic
# print(dic)#结果{1: 'HI', 'dict': 'get'}
# del dic[1]#按照键去删除
# print(dic)

# dic.clear()#清空列表
# print(dic)

# dic.pop(1)#pop(键),删除
# print(dic)

# dic.popitem()#默认删除最后一个,又是随机删除
# print(dic)
# 改
# dic={'33':'jj','44':'TT'}
# dic1={'55':'PP','66':'gg'}
# dic2={'33':'JJ','44':'tt',}
# dic.update(dic1)#dic中没有dic1中的数据,直接添加
# print(dic)
# dic.update(dic2)#dic中存在dic2的数据,直接覆盖
# print(dic)

# dic['33']='你好'#直接通过键去改
# print(dic)
# 查
dic={'33':'jj','44':'TT'}

# print(dic['33'])#直接通过键去查

# print(dic.get('33'))#get(存在的键 )去查
# print(dic.get('3'))#get(不存在的键)去查返回None
# print(dic.get('2','提示的内容'))#查不存在的键,返回的是提示的内容

字典的其他操作

# dic={'33':'jj','44':'TT'}

# for i in dic: #遍历字典的键
#     print(i)

# print(dic.keys())#结果    dict_keys(['33', '44']),高仿列表
# for i in dic.keys():#遍历字典的键
#     print(i)

# print(dic.values())#dict_values(['jj', 'TT'])   高仿列表
# for i in dic.values():#遍历列表的值
#     print(i)

# for i in dic.items():#结果('33', 'jj')
# #                          ('44', 'TT')
#     print(i)
# # 利用解构
# for k,v in dic.items():#结果#33 jj
# #                           44 TT
#     print(k,v)
# 解构
# a,b,c=1,2,3
# print(a,b,c)#结果   1 2 3
# a,b,c='你好啊'
# print(a,b,c)#结果 你 好 啊
# a,b,c='hsh'
# print(a,b,c)#h s h
# a,b,c=['u','v',[1,2,3]]#结果u v [1, 2, 3]
# print(a,b,c)
# a,b,c={1:'q',2:'w',3:'e'}#结果:1 2 3返回的是对应键
# print(a,b,c)
# a,b,c={1,2,3}#set()结果   1 2 3
# print(a,b,c)
# a,b,c=(7,8,9)#元组    结果7     8     9
# print(a,b,c)
# 总结:
# 后边跟的是可迭代的数据类型,int,bool不行

 集合

#集合----天然去重,和列表有点像,但是无序,不可用下标,用的{}
# se={1,3,4,1,5,6}
# print(se)#{1, 3, 4, 5, 6}

集合的增删改查

# se={1,3,2,2,'l','你好'}
# print(se)#{1, 2, 3, 'l', '你好'}

# 增
# se={1,3,2,2,'l','你好'}
# se.add('hello')#增加
# print(se)#{'你好', 1, 2, 3, 'hello', 'l'}

# 删
se={1,3,2,2,'l','你好'}
# se.clear()
# print(se)#清空列表  打印结果:set()

# se.pop()#随机删除
# print(se)

# se.remove('你好')#按照内容删除,remove
# print(se)

# 改
# se={1,3,2,2,'l','你好'}
# # se.update('abc')#{1, 2, 3, '你好', 'a', 'l', 'b'}
# # print(se)
# 
# 查
# for 循环

集合的其他操作

se={1,3,2,2,'l','你好'}
se1={'你好',1,2}
#交集
# print(se&se1)#{1, 2, '你好'}
# #并集
# print(se|se1)#{1, 2, 3, 'l', '你好'}
# 差集
# print(se-se1)#{'l', 3}
# 子集
# print(se1<se)#返回True
#超超集
# print(se>se1)#True

冻结集合

# se={1,2,3,1,2,3,4}
# s1=frozenset(se)
# print(se)
# print(s1)#frozenset({1, 2, 3, 4})

集合是可变数据类型,不可哈希
冻结集合是不可变数据类型,可哈希

猜你喜欢

转载自www.cnblogs.com/liuer-mihou/p/10214327.html