Python如何创建和使用字典
发表于:2025-01-28 作者:千家信息网编辑
千家信息网最后更新 2025年01月28日,Python是一种跨平台的计算机程序设计语言。 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越多被
千家信息网最后更新 2025年01月28日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安全错误
数据库的锁怎样保障安全
装服务器
女生网络安全
浙江桌面软件开发费用
服务器 session
江西省数据库招标
郭盛华网络安全
jsp 数据库 下拉框
百度移信网络技术公司
易语言数据库软件
服务器故障是什么意思
24点计算软件开发
淮安多功能软件开发哪家好
信息化服务器测试期规定
数据库基础与应用难
数据库模型软件
网络安全的端口禁用步骤
联铭互联网科技有限公司
在线设计网络技术
mc服务器图标更改
传奇4国际服亚洲服最新服务器
垫江县软件开发培训
征程网络技术有限公司
第六秒连接到服务器失败
4g网络技术的三高一低
中国国内数据库投资
青岛市小鱼网络技术有限公司
成都 软件开发 优惠政策
计算机网络技术基础图片
竹山公司软件开发技术指导
淘宝官方服务器靠谱吗