python入门之字典_06

#-----------字典-----------
'''
一、字典的操作方式:增、删、改、查
    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)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值