Python 一文学会字典数据类型【简单易懂,代码可以直接运行,强烈推荐】
‘’’ 字典的含义:字典存储的是生活中一个物体的信息 字典的特征: 组成它的数据:key:value组合 字典中的key不能重复 字典中的key:value无序,–3.7的python更改了字典的无序性让字典有序了 ‘’’
本文内容如下:
#字典的声明 #声明字典 #使用{}可以声明空字典 #一对花括号表示字典而非集合,所以创建空集合必须使用构造函数set()和frozenset()来表示 #声明一个带有值的字典 #每一个tuple就是一个键值对 #使用条件:两个元组合并成一个字典时会用的到 #将两个列表/元组/合并成一个字典 ‘’’ 字典的操作 1.添加操作 dict_name[key] = value-重点 ‘’’ 2.setdefault(‘key’,‘value’) #setdefault方法是给一个字典的某一个键设置默认值,但是不能做到修改某个键的值的功能 ‘’’ 2.修改操作 dict_name[key] = 新的value ‘’’ #2.p.update(p2)函数,如果p2与p中的key相同则替换p中原本的value值,如果存在不相同的key值,则直接补充进去 #键相同的情况,将p1里面的value更新到dict的key下 #键不同的情况,将P2的key值设置到p中 ‘’’ 删除操作 (1)pop(出栈):弹出一个指定key的数据,兵将这个key删除 返回值就是删除key所对应的value ‘’’ #popitem()函数:随机弹出一个键值元组,随机的原因就是字典是无序的,python3.7之后的版本中,popitem删除元素是从后往前的,同时dict是有序的 #clear()清空字典 ‘’’ 查找操作 (1)通过key查找value:dict[key] 如果key存在就报错 ‘’’ #(2)获取所有的key:dict.keys() ‘’’ 如何遍历字典 1.如果用for循环遍历字典得到的就是key值 2.iteam方法返回可遍历的(键,值)元组数组 ‘’’ #for循环遍历 for i in p: print(p[i]) ‘’’ yubenben 19 180 man ‘’’ #正确的遍历方式 for key in p.keys(): print(key,p[key]) ‘’’ name yubenben age 19 hehight 180 sex man ‘’’ #第二种正确遍历方式 #items(),将字典划分为一个个小元组 for i in p.items(): print(i) ‘’’ (‘name’, ‘yubenben’) (‘age’, 19) (‘hehight’, 180) (‘sex’, ‘man’) ‘’’ #对于元组序列的拆包:保证变量的数量与元组值的数量要一直 #t1,t2,t3,t4 ,t5,t6,t7,t8 = p#error t1,t2,t3,t4 = p print(t1,t2,t3,t4)#name age hehight sex t = (‘namcdddsdddddddde’,‘Anine’) t1,t2 = t print(t1,t2) #最终版本的遍历 for key,value in p.items(): print(key,value) 点个👍吧,秋梨膏!!!!
代码如下:
import time'''字典的含义:字典存储的是生活中一个物体的信息字典的特征:组成它的数据:key:value组合字典中的key不能重复字典中的key:value无序,--3.7的python更改了字典的无序性让字典有序了'''#字典的声明#声明字典#使用{}可以声明空字典dct1 = {}#一对花括号表示字典而非集合,所以创建空集合必须使用构造函数set()和frozenset()来表示print(type(dct1))#2 dict()dct2 = dict()print(type(dct2))#声明一个带有值的字典dct3 = {'name':'yubenben','age':19}print(dct3)#4 dict([tuple1,tuple2.....])#每一个tuple就是一个键值对# 使用条件:两个元组合并成一个字典时会用的到# dct4 = dict([('name','age','school','hai'),('YYX',20,'henu','hello')]) #报错dct4 = dict([('name','age'),('YYX',20)])#{'name': 'age', 'YYX': 20}print(dct4)dct5 = dict(list(zip(['name','age','school','hai'],['YYX',20,'henu','hello'])))print(dct5)#将两个列表/元组/合并成一个字典key_list = ['name','age','gender','height']value_list = ['yubenben',19,'man',180]dct6 = dict(list(zip(key_list,value_list)))print(dct6)print('==='*50)'''字典的操作1.添加操作dict_name[key] = value-重点'''p = {}p['name'] = 'yubenben'p['age'] = 19p['height'] = 180print(p)#{'name': 'yubenben', 'age': 19, 'height': 180}# 2.setdefault('key','value')#setdefault方法是给一个字典的某一个键设置默认值,但是不能做到修改某个键的值的功能p.setdefault('性别','男')print(p)#{'name': 'yubenben', 'age': 19, 'height': 180, '性别': '男'}p.setdefault('性别','女')print(p)#{'name': 'yubenben', 'age': 19, 'height': 180, '性别': '男'}print('==='*50)'''2.修改操作dict_name[key] = 新的value'''p['性别'] = '女'p['name'] = 'YYX'print(p)#{'name': 'YYX', 'age': 19, 'height': 180, '性别': '女'}#2.p.update(p2)函数,如果p2与p中的key相同则替换p中原本的value值,如果存在不相同的key值,则直接补充进去#键相同的情况,将p1里面的value更新到dict的key下p1 = {'age':18,'height':173}p.update(p1)print(p)#键不同的情况,将P2的key值设置到p中p2 = {'name1':'yubenben','age1':19,'height':180}p.update(p2)print(p)print('==='*50)'''删除操作(1)pop(出栈):弹出一个指定key的数据,兵将这个key删除返回值就是删除key所对应的value'''res = p.pop('name')print(res)#YYXprint(p)#{'age': 18, 'height': 180, '性别': '女', 'name1': 'yubenben', 'age1': 19}print('==='*50)# res = p.pop('age1')# print(res)#19# print(p)#{'age': 18, 'height': 180, '性别': '女', 'name1': 'yubenben'}#popitem()函数:随机弹出一个键值元组,随机的原因就是字典是无序的,python3.7之后的版本中,popitem删除元素是从后往前的,同时dict是有序的print(p)# p.popitem()print(p.popitem())print('===='*50)for i in range(len(p)-1):time.sleep(0.1)#使程序每个1秒运行一次p.popitem()print(p)print('===='*50)#clear()清空字典p.clear()print(p)print('==='*30)'''查找操作(1)通过key查找value:dict[key]如果key存在就报错'''p = {'name':'yubenben','age':19,'hehight':180,'sex':'man'}print(p['name'])#yubenben# print(p['hobby'])#error#(2)获取所有的key:dict.keys()print(p.keys())#dict_keys(['name', 'age', 'hehight', 'sex'])keys = p.keys()print(type(keys))#<class 'dict_keys'>可迭代对象print(list(keys))#['name', 'age', 'hehight', 'sex']print('==='*50)'''如何遍历字典1.如果用for循环遍历字典得到的就是key值2.iteam方法返回可遍历的(键,值)元组数组'''#for循环遍历for i in p:print(p[i])'''yubenben19180man'''#正确的遍历方式for key in p.keys():print(key,p[key])'''name yubenbenage 19hehight 180sex man'''#第二种正确遍历方式#items(),将字典划分为一个个小元组for i in p.items():print(i)'''('name', 'yubenben')('age', 19)('hehight', 180)('sex', 'man')'''#对于元组序列的拆包:保证变量的数量与元组值的数量要一直# t1,t2,t3,t4 ,t5,t6,t7,t8 = p#errort1,t2,t3,t4 = pprint(t1,t2,t3,t4)#name age hehight sext = ('namcdddsdddddddde','Anine')t1,t2 = tprint(t1,t2)#最终版本的遍历for key,value in p.items():print(key,value)
点个👍吧,秋梨膏!!!!