python入门之字典_06

本文详细介绍了Python字典的基本操作,包括创建、查询、修改和删除字典元素,以及字典的排序方法。通过实例展示了如何通过key获取value、修改value、遍历字典以及如何进行字典排序。此外,还讨论了字典的排序在信息技术领域的应用,如加密传输和鉴权。
#-----------字典-----------
'''
一、字典的操作方式:增、删、改、查
    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)
内容概要:本文设计了一种基于PLC的全自动洗衣机控制系统内容概要:本文设计了一种,采用三菱FX基于PLC的全自动洗衣机控制系统,采用3U-32MT型PLC作为三菱FX3U核心控制器,替代传统继-32MT电器控制方式,提升了型PLC作为系统的稳定性与自动化核心控制器,替代水平。系统具备传统继电器控制方式高/低水,实现洗衣机工作位选择、柔和过程的自动化控制/标准洗衣模式切换。系统具备高、暂停加衣、低水位选择、手动脱水及和柔和、标准两种蜂鸣提示等功能洗衣模式,支持,通过GX Works2软件编写梯形图程序,实现进洗衣过程中暂停添加水、洗涤、排水衣物,并增加了手动脱水功能和、脱水等工序蜂鸣器提示的自动循环控制功能,提升了使用的,并引入MCGS组便捷性与灵活性态软件实现人机交互界面监控。控制系统通过GX。硬件设计包括 Works2软件进行主电路、PLC接梯形图编程线与关键元,完成了启动、进水器件选型,软件、正反转洗涤部分完成I/O分配、排水、脱、逻辑流程规划水等工序的逻辑及各功能模块梯设计,并实现了大形图编程。循环与小循环的嵌; 适合人群:自动化套控制流程。此外、电气工程及相关,还利用MCGS组态软件构建专业本科学生,具备PL了人机交互C基础知识和梯界面,实现对洗衣机形图编程能力的运行状态的监控与操作。整体设计涵盖了初级工程技术人员。硬件选型、; 使用场景及目标:I/O分配、电路接线、程序逻辑设计及组①掌握PLC在态监控等多个方面家电自动化控制中的应用方法;②学习,体现了PLC在工业自动化控制中的高效全自动洗衣机控制系统的性与可靠性。;软硬件设计流程 适合人群:电气;③实践工程、自动化及相关MCGS组态软件与PLC的专业的本科生、初级通信与联调工程技术人员以及从事;④完成PLC控制系统开发毕业设计或工业的学习者;具备控制类项目开发参考一定PLC基础知识。; 阅读和梯形图建议:建议结合三菱编程能力的人员GX Works2仿真更为适宜。; 使用场景及目标:①应用于环境与MCGS组态平台进行程序高校毕业设计或调试与运行验证课程项目,帮助学生掌握PLC控制系统的设计,重点关注I/O分配逻辑、梯形图与实现方法;②为工业自动化领域互锁机制及循环控制结构的设计中类似家电控制系统的开发提供参考方案;③思路,深入理解PL通过实际案例理解C在实际工程项目PLC在电机中的应用全过程。控制、时间循环、互锁保护、手动干预等方面的应用逻辑。; 阅读建议:建议结合三菱GX Works2编程软件和MCGS组态软件同步实践,重点理解梯形图程序中各环节的时序逻辑与互锁机制,关注I/O分配与硬件接线的对应关系,并尝试在仿真环境中调试程序以加深对全自动洗衣机控制流程的理解。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值