Python如何创建和使用字典
发表于:2024-10-20 作者:千家信息网编辑
千家信息网最后更新 2024年10月20日,Python是一种跨平台的计算机程序设计语言。 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越多被
千家信息网最后更新 2024年10月20日Python如何创建和使用字典
Python是一种跨平台的计算机程序设计语言。 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越多被用于独立的、大型项目的开发。
字典是另一种可变容器模型,且可存储任意类型对象。
字典的每个键值 key=>value 对用冒号 : 分割,每个键值对之间用逗号 , 分割,整个字典包括在花括号 {} 中
Python字典包含了以下内置方法:
序号 | 函数及描述 |
---|---|
1 | dict.clear() 删除字典内所有元素 |
2 | dict.copy() 返回一个字典的浅复制 |
3 | dict.fromkeys(seq[, val]) 创建一个新字典,以序列 seq 中元素做字典的键,val 为字典所有键对应的初始值 |
4 | dict.get(key, default=None) 返回指定键的值,如果值不在字典中返回default值 |
5 | dict.has_key(key) 如果键在字典dict里返回true,否则返回false |
6 | dict.items() 以列表返回可遍历的(键, 值) 元组数组 |
7 | dict.keys() 以列表返回一个字典所有的键 |
8 | dict.setdefault(key, default=None) 和get()类似, 但如果键不存在于字典中,将会添加键并将值设为default |
9 | dict.update(dict2) 把字典dict2的键/值对更新到dict里 |
10 | dict.values() 以列表返回字典中的所有值 |
11 | pop(key[,default]) 删除字典给定键 key 所对应的值,返回值为被删除的值。key值必须给出。 否则,返回default值。 |
12 | popitem() 返回并删除字典中的最后一对键和值。 |
# 创建和使用字典names = ["Bill", "Mike", "John", "Mary"]numbers = ["1234", "4321", "6789", "6543"]print(numbers[names.index("Mike")]) #4321 通过names中的Mike的索引 位置 来查找他的电话号码 numbers中的列表print(names[numbers.index("6543")]) # Mary# 多个关联的数据分散到不同的 列表或者元组中,不太好维护 引入 字典 # 字典是一对 key和value {} 中间用: 表示phoneBook = {"Bill":"1234","Mike":"4321","John":"6645","Mary":"7753"}print(phoneBook) # {"Bill":"1234","Mike":"4321","John":"6645","Mary":"7753"}print(phoneBook["Mike"]) # 4321----------------------------------------------- # 使用dict函数将序列转换为字典# 第一个是列表 第二个元素为元组 # 首先定义一个列表,列表中有多个元数,里面的元素可以为多个值,可以为列表也可以为元组 items = [['Bill',"4321"],("Mike","7891"),['John','4567']]d = dict(items)print(d) # {'Bill': '4321', 'Mike': '7891', 'John': '4567'}'''也可以直接写成这样 items = [['Bill',"4321"],("Mike","7891"),['John','4567']]#d = dict(items)print(dict(items))'''dict1 = dict(name="Bill", number=6543, age=34) # 这是把元组转化为字典print(dict1) # {'name': 'Bill', 'number': 6543, 'age': 34}# 需要先定义一个空的列表 然后 把输入的 input 追加起来,再通过dict函数进行转化 成字典 items = []while True: key = input("请输入Key:") if key == ":exit": break; value = input("请输入value:") keyValue = [key,value] items.append(keyValue) # 追加d = dict(items)print(d)'''请输入Key:majihui请输入value:12345请输入Key:zhaoshun请输入value:33333请输入Key:local请输入value:china请输入Key::exit{'majihui': '12345', 'zhaoshun': '33333', 'local': 'china'}'''-------------------------------------# 字典的基本操作# 通过len函数获取字典的长度items = [1,2,3,4,5] # 这是一个列表print(len(items)) # 5 输出列表的长度d = {"name":"Bill", "age":43} # 这是一个字典print(len(d)) # 2 输出字典的长度# 通过key获取和设置或修改字典中的值 print(d["name"]) # Bill 获取字典中的值 d["name"] = "Mary" # 修改字典中的value的值 把原来名字为 Bill改成 Maryprint(d) # {'name': 'Mary', 'age': 43} #print(items[10]) # 当输出的索引超出了列表 就会报错 异常d["salary"] = 5432 # 在原来字典的基础上追加一个 print(d) # {'name': 'Mary', 'age': 43, 'salary': 5432}# 判断字段是否在列表中print(1 in items) # Trueprint(10 in items) # False#对于字典来说,他是直接找key是否在字典中存储,他不会找valueprint("name" in d) # Trueprint("location" in d) # False'''列表和字典不同点小结:1. key的类型,列表只能是数字(索引),字典的key可以是多种类型,如字符串、元组2. 自动添加,引用列表元素,索引必须在范围内,否则抛出异常,字典的key如果不存在,会自动添加一个key-value对3. 查找成员,列表使用in,直接查找值,字典使用in,查找key查找效率,字典要高于列表和元组'''IDEs = { 'eclipse': { 'languages':['Java','Python','JavaScript','PHP'], 'organization':'Eclipse基金会' }, 'visualstudio': { 'languages':['C#','C++', 'VB.NET'], 'organization':'微软' }, 'webstorm': { 'languages':['JavaScript'], 'organization':'JetBrains' } }labels = { 'languages':'支持的编程语言', 'organization':'所属机构' }IDE = input('请输入IDE的名字')findIDE = IDE.replace(' ', '').lower() # 把输入的空格转化为空 并且 把输入的值转化为小写 choice = input('要查询的IDE支持的编程语言(lang)还是所属及机构(org)?') if choice == 'lang': key = 'languages'if choice == 'org': key = 'organization' if findIDE in IDEs: print("{} {}是{}.".format(IDE, labels[key],IDEs[findIDE][key]))'''请输入IDE的名字eclipse要查询的IDE支持的编程语言(lang)还是所属及机构(org)?langeclipse 支持的编程语言是['Java', 'Python', 'JavaScript', 'PHP'].请输入IDE的名字WEBstorm要查询的IDE支持的编程语言(lang)还是所属及机构(org)?orgWEBstorm 所属机构是JetBrains.请输入IDE的名字eclipse //输入的这个空面有空格要查询的IDE支持的编程语言(lang)还是所属及机构(org)?orgeclipse 所属机构是Eclipse基金会.'''
字典
输入
语言
所属
机构
编程语言
支持
编程
元素
名字
函数
索引
还是
查询
多个
类型
这是
长度
输出
不同
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
数据库都是有哪些方面
系统数据库兼容性
关于网络安全的重要性
网络技术应用物联网
长宁区咨询软件开发销售
外网管理服务器
日常网络安全职责
上海财经大学的大数据库
小学网络安全教育通知
毕节市智鑫网络技术有限公司
管理节点服务器作用
绝地求生世界上有几个服务器
企业重视网络安全
scx是什么意思数据库
易语言数据库文件多大
我的世界基岩版老版服务器
通信网络安全控制点不包括
软件开发岗位非计算机本科毕业
广州有效的社交软件开发
小县城 软件开发
软件开发税票单位是
网络技术高人
肇庆微商软件开发报价
奥巴马网络安全演讲
成都中联无限软件开发公司
特朗普访华受益股网络安全
魔兽世界赛季服务器职业选择
浙江常规网络技术咨询热线
投融天下互联网科技有限公司
光遇登不了服务器怎么回事