Python如何创建和使用字典
发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,Python是一种跨平台的计算机程序设计语言。 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越多被
千家信息网最后更新 2025年12月02日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安全错误
数据库的锁怎样保障安全
数据库的安全管理教案
如何从数据库中选取4条信息
萤石摄像头网络安全吗
软件开发项目评分内容
数据库超级工程师
服务器为什么要挂数据盘
高级软件开发工程师报名
系统软件开发哪个专业好
数据库ip类型
网络安全规定等级
杭州快睿网络技术公司
武汉软件开发驻场代理
关于网络安全的英语词汇
网站网络安全会议讲话
放心的五金切割软件开发定制
什么是软件开发的思维方式
四川智慧养老管理平台软件开发
税务局强化网络安全简报
服务器一周重启一次好吗
和平精英网络安全加速
成都亚信网络安全研究院
徐州串口终端服务器
鼎新erp系统软件开发商
哈尔滨软实力软件开发
软件开发需要那些语言
万方数据库基金文献在哪里
数据库有效取值
m6310用什么软件开发
登陆数据库提示无监听程序
网络技术能否拆除社会变革屏障