#-----------字典----------- ''' 一、字典的操作方式:增、删、改、查 1.创建字典 2.修改字典 3.查询字典 4.删除字典 字典的特性:key和value键值对的方式来表达字典 *key值是唯一的不可变,不可重复 *value是可以修改,并且可以重复的 字典是无序的 ''' #1.------创建字典------ ''' 字典用{}包含, key和value组成一个元素, 通过key来取value, 用逗号隔开每个元素 字典是一个容器可以包含多种字符 ''' #方法一创建字典:键值对的方式进行创建 #实例: test_dict={"key1":"value1","key2":"value2","key3":[1,2,3,"hello"]} print("输出字典为",test_dict) #方法二创建字典:通过赋值的方式进行字典创建 #语法:dict(key='') #实例: test_dict=dict(key1='value1',key2="value2") print("输出字典为:",test_dict) #方法三创建字典:通过key赋值进创建字典元素 #实例: test_dict={} test_dict["key1"]=111 test_dict["key2"]=222 print("输出字典为:",test_dict) #2.------查询字典------、 ''' 2.1:通过key获取value的值 语法:dict["key"] []中填写key的值 如果key不存在查询该key的值会报错 keyErro:"key4" 表示:查询不到key4 ''' #实例1:可以查询到该key test_dict={"key1":"value1","key2":"value2","key3":[1,2,3,"hello"]} test_dict_01=test_dict["key1"] print("输出字典key为:",test_dict_01) #实例2:字典中该key值不存在进行查询 # test_dict={"key1":"value1","key2":"value2","key3":[1,2,3,"hello"]} # test_dict_01=test_dict["key4"] # print(test_dict_01) ''' 2.2:通过get方法进行查询字典值 语法:dict.get() 括号中填写key的值 如果key值不存在,会返回默认值value ''' #实例1:可以查询到该key test_dict={"key1":"value1","key2":"value2","key3":[1,2,3,"hello"]} test_dict_01=test_dict["key3"] print("输出字典key3为:",test_dict_01) #实例2:字典中该key值不存在进行查询,返回默认值 test_dict={"key1":"value1","key2":"value2","key3":[1,2,3,"hello"]} test_dict_01=test_dict.get("key4","value4") print("key4不在字典中输出字典为:",test_dict_01) ''' 2.3:获取所有的key值 语法:dict.keys() 输出的结果为所有的的key 想要获取某个key需要对字典进行强制类型转换 ''' #实例1:获取所有的key test_dict={"key1":"value1","key2":"value2","key3":[1,2,3,"hello"]} test_dict_01=test_dict.keys() print("输出字典的所有key为:",test_dict_01) #实例2:获取所有的key,并对字典进行强制类型转换为list,tuple后按切片取值 test_dict={"key1":"value1","key2":"value2","key3":[1,2,3,"hello"]} test_dict_01=list(test_dict.keys())[2] print('输出字典某个key为:',test_dict_01) #实例3:获取所有的key,并对字典进行强制类型转换为list,tuple后按切片取值 test_dict={"key1":"value1","key2":"value2","key3":[1,2,3,"hello"]} test_dict_01=tuple(test_dict.keys())[2] print('输出字典某个key为:',test_dict_01) ''' 2.4:获取所有的value值 语法:dict.values() 输出的结果为所有的的values 想要获取某个values需要对字典进行强制类型转换 ''' #实例1:获取所有的value test_dict={"key1":"value1","key2":"value2","key3":[1,2,3,"hello"]} test_dict_01=test_dict.values() print("输出字典的所有key为:",test_dict_01) #实例2:获取所有的value,并对字典进行强制类型转换为list,tuple后按切片取值 test_dict={"key1":"value1","key2":"value2","key3":[1,2,3,"hello"]} test_dict_01=list(test_dict.values())[2] print('输出字典某个value为:',test_dict_01) #实例3:获取所有的value,并对字典进行强制类型转换为list,tuple后按切片取值 test_dict={"key1":"value1","key2":"value2","key3":[1,2,3,"hello"]} test_dict_01=tuple(test_dict.values())[2] print('输出字典某个value为:',test_dict_01) ''' 2.5:获取所有的key和value值同时获取,返回字典的键值对的元组 语法:dict.items() 输出的结果为所有的的key和value 想要获取某个key和value需要对字典进行强制类型转换 ''' #实例1:获取所有的key和value test_dict={"key1":"value1","key2":"value2","key3":[1,2,3,"hello"]} test_dict_01=test_dict.items() print('输出字典所有key和value为:',test_dict_01) #实例2:获取所有的key和value,并对字典进行强制类型转换为list,tuple后按切片取值 test_dict={"key1":"value1","key2":"value2","key3":[1,2,3,"hello"]} test_dict_01=list(test_dict.items())[2] print('输出字典某个key和value为:',test_dict_01) #实例3:获取所有的key和value,并对字典进行强制类型转换为list,tuple后按切片取值 test_dict={"key1":"value1","key2":"value2","key3":[1,2,3,"hello"]} test_dict_01=tuple(test_dict.items())[2] print('输出字典某个key和value为:',test_dict_01) #2.6:字典支持遍历 # 语法:for key in test_dict.keys() "key"可填写任意变量名 # for key in test_dict.values() # for key in test_dict.items() # 2.6.1:遍历key # 2.6.2:遍历value # 2.6.3:遍历key,value #实例1:遍历key test_dict={"key1":"value1","key2":"value2","key3":[1,2,3,"hello"]} for key in test_dict.keys(): print('遍历字典所有key',key) #实例2:遍历所有key的values test_dict={"key1":"value1","key2":"value2","key3":[1,2,3,"hello"]} for key in test_dict.values(): print('遍历字典所有key的values',key) #实例3:遍历字典所有key和values,返回为元组类型 test_dict={"key1":"value1","key2":"value2","key3":[1,2,3,"hello"]} for key in test_dict.items(): print('遍历字典所有key和values',key) #实例4:遍历字典所有key和values,返回字符 test_dict={"key1":"value1","key2":"value2","key3":[1,2,3,"hello"]} for key,value in test_dict.items(): print('遍历字典所有key和values',key,value) #3.------字典的修改------ #方法一:通过key修改value # 通过key进行修改,在字典原来的基础上进行修改,若是key存在就会替换原来的value值 #若字典中不存在某个key时进行修改相当于在字典末尾添加一个元素 #实例1:修改字典中存在key的某个value test_dict={"key1":"value1","key2":"value2","key3":[1,2,3,"hello"]} test_dict["key1"]=666 print('修改字典key1后输出为:',test_dict) #实例2:若字典中不存在某个key时进行修改相当于在字典末尾添加一个元素 test_dict={"key1":"value1","key2":"value2","key3":[1,2,3,"hello"]} test_dict["key5"]=666 print('修改字典不存在的key后输出为:',test_dict) #方法二:添加键值对的方式进行修改 # 若是key存在,则对元素不做任何操作 # 若是key不存在,则相当于添加键值对 #实例1:修改字典中存在key的某个value test_dict={"key1":"value1","key2":"value2","key3":[1,2,3,"hello"]} test_dict.setdefault("key1","11") print('setdefault修改key1存在修改字典后输出为:',test_dict) #实例2:若字典中不存在某个key时则相当于添加键值对 test_dict={"key1":"value1","key2":"value2","key3":[1,2,3,"hello"]} test_dict.setdefault("key5","11") test_dict.setdefault("key6","11") print('setdefault修改字典不存在的key后输出为:',test_dict) #方法三:update方式进行修改添加 #语法dict.update() 括号中填写为需要降某个字典合并到前一个字典中 #注意:key重复时就会覆盖value值, key未重复时则将会合并 #实例1:当key没有重复时:将test_dict_01合并到test_dict test_dict={"key1":"value1","key2":"value2","key3":[1,2,3,"hello"]} test_dict_01={"key4":"111","key6":222,"key5":[1,2,3,"hello"]} test_dict.update(test_dict_01) print('test_dict_01合并到test_dict输出为:',test_dict) #实例2:当key重复时:则修改key的value test_dict={"key1":"value1","key2":"value2","key3":[1,2,3,"hello"]} test_dict_01={"key1":"111","key2":"222","key3":333} test_dict.update(test_dict_01) print('当key重复时则修改value输出为:',test_dict) #4、------字典的删除----- #方法一:del方式进行删除,没有返回值 #语法del dict[] 括号中填写为需要删除的key #实例:del删除某个key test_dict={"key1":"value1","key2":"value2","key3":[1,2,3,"hello"]} del test_dict["key1"] print("del删除某个key输出为:",test_dict) #方法三:pop方式进行删除,有返回值 #语法dict.pop() 括号中填写为需要删除的key #实例:pop删除某个key test_dict={"key1":"value1","key2":"value2","key3":[1,2,3,"hello"]} res=test_dict.pop("key1") print(res) #返回删除的value print("pop删除某个key输出为:",test_dict) #方法三:clear方式进行清空字典,没有返回值 #语法dict.clear() 括号中填写为需要删除的key #实例:clear清空字典 test_dict={"key1":"value1","key2":"value2","key3":[1,2,3,"hello"]} test_dict.clear() print("清空字典输出为:",test_dict) #方法四:popitem方式进行随机删除字典元素 # 有返回值,返回删除的元素 #语法dict.popitem() 括号中填写为需要删除的key #-------python进栈出栈------- 重要 #规则:后进先出 意识是删除后面进来的元素,键值对 #实例:popitem随机删除字典元素 test_dict={"key1":"value1","key2":"value2","key3":[1,2,3,"hello"]} res=test_dict.popitem() print(res) #返回删除的元素 print("随机删除输出为:",test_dict) #--------字典的排序---------- #使用场景:鉴权、参数加密传输、字典序 字典排序后进行加密 #语法:operator.itemgetter() # 括号中填写0,则根据key的ascii进行排序 # 括号中填写1,则根据value的ascii进行排序 # 加密步骤: # 第一步请求参数: #{"key1":"valu1","key2":"value2","keys":"value3"} #第二步rsa加密 #shdsakdhjs #第三步组合请求参数 #{"key1":"valu1","key2":"value2","keys":"value3","sign":"shdsakdhjs"} #实例加密方法:默认从小到大排序,根据value的ascii码进行排序 import operator test_dict={"key1":"111","key2":"222","key3":"44"} reslut = sorted(test_dict.items(),key=operator.itemgetter(1)) print("字典根据value排序后输出为:",reslut) #实例加密方法:从大到小排序,根据key的ascii码进行排序 import operator test_dict={"key1":"111","key2":"222","key3":"44"} reslut = sorted(test_dict.items(),key=operator.itemgetter(0),reverse=True) print("字典根据key排序后输出为:",reslut)
02-06
1万+
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)
08-04
08-04
08-04
08-04
08-04
08-04
08-04
08-04