''' 字典是一种容器数据类型,用于存储键值对(key-value)的数据集合 一、特点 1)通过一个key对应一个确定唯一的值 2)可变性:可以通过索引修改、删除或插入元素,可以改变列表的长度、内容和顺序 3)异构性:可以包含不同类型的元素,如string、int、float、list等 4)无序性:python3.7+版本是有序 ''' def dict_op(): ''' keys() 用来获取字典中所有的key,保存到一个列表中,并以dict_keys类型返回 格式: .keys() ''' d1 = {'name': 'Tom', 'age': 25, 'gender': True, 'hobby': {'first': ('eat', 'drink'), 'second': 'play'}} ks = d1.keys() print(ks) print(type(ks)) ''' values() 用来获取字典中所有的key,保存到一个列表中,并以dict_values类型返回 格式: .values() ''' vs = d1.values() print(vs) print(type(vs)) ''' items() 用来获取字典中所有的键值对,每一个元素值都以一个元祖保存,并将所有元素 元组保存到一个列表中,并以dict_items类型返回 格式: .items() ''' its = d1.items() print(its) print(type(its)) ''' get(key,default) 用来获取key对应的值,如果指定的key不存在,则返回默认值 字典对象[key]的形式获取值,key不存在时会抛出错误 ''' gets = d1.get('time','empty') print(gets) print(type(gets)) gets = d1.get('name','empty') print(gets) print(type(gets)) print(d1) ''' setdefault(key,default) 给一个不存在的key添加一个默认值并将该键值对保存到字典中。 在一些场景中,字典的key存在,却没有对应的值,此时可以使用该方法,为当前的key添加一个默认值: 比如服务端发起请求时携带的请求头中的信息,,,只加不改 ''' d1 = {'name': 'Tom', 'age': 25, 'gender': True, 'address':'beijing' } d1.setdefault('gender','male')#此方法不会改变原有key的值 print(d1) d1.setdefault('hobby1','eat') print(d1) d1.setdefault('hobby2')#不给默认值,字典中显示None print(d1) d1.setdefault('hobby2','play')#不给默认值,字典中显示None print(d1) ''' fromkeys(keys,val) 用于创建一个新字典,以序列keys中元素做字典的键,value为所有键对应的初始值,默认为None 该方法为静态方法,需要使用字典类型名dict调用。 该方法如果只给定keys参数,则所有的key对应值都为默认值None 如果给的val值,则所有的key对应值都为val 此方法比较少用 ''' ks = ['name','age','hobby']#有一组其他数据类型的数据 s1 = dict.fromkeys(ks,'hi') print(s1) s1 = dict.fromkeys(ks,'无') print(s1) ''' update(s/iterable) 使用参数中的数据更新到当前字典 该方法的参数可以接收一个字典(大多数的使用方法),也可以接受一个可迭代对象,如果参数数据中的key在当前字典中 不存在,则将键值对添加到当前字典中 ''' #更新目标数据是一个字典 d1 = {'name': 'Tom', 'age': 25, 'gender': True, 'address':'beijing' } newd1 = {'name': 'Jack','hobby':'eat'} d1.update(newd1) print(d1) #更新目标数据是一个可迭代对象 d1 = {'name': 'Tom', 'age': 25, 'gender': True, 'address':'beijing' } newd1 = (('name','Jack'),['hobby','eat']) d1.update(newd1) print(d1) ''' popiterm() 用来获取并删除字典中最后一个键值对,返回一个元组 如果字典为空时,则抛出错误 ''' d1 = {'name': 'Tom', 'age': 25, 'gender': True, 'address':'beijing' } d1.popitem() print(d1) # d1.popitem() # print(d1) # d1.popitem() # print(d1) # d1.popitem() # print(d1) # d1.popitem()#空字典,抛出错误 # print(d1) ''' pop(key) 用来获取并删除字典中指定key对应的键值对,返回一个元组 如果指定key不存在时,则抛出错误 ''' d1.pop('name') print(d1) # d1.pop('name')#不存在指定key时跑错错误 # print(d1) ''' clear() 清空字典中所有键值对元素 ''' d1.clear() print(d1)#返回空字典 if __name__ == '__main__': dict_op()
Python-字典的操作方法
最新推荐文章于 2024-10-12 12:26:23 发布