Python如何创建和使用字典
发表于:2024-09-22 作者:千家信息网编辑
千家信息网最后更新 2024年09月22日,Python是一种跨平台的计算机程序设计语言。 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越多被
千家信息网最后更新 2024年09月22日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安全错误
数据库的锁怎样保障安全
中文wiki图片数据库
深圳小学的网络安全课在哪看
学校网络安全信息通报工作制度
路由器键入网络安全密钥是什么
施乐j75服务器网线
徐汇区专业网络技术哪家好
wincc与串口服务器通信
佳明的服务器在哪里
登录安全服务器
mac服务器管理员密码
20年个人网络安全思想汇报
网络安全 谨慎交友
数据库id改为序列
数据库系统原理专升本试题
网络行为管理系统是服务器吗
宝塔怎么修改数据库配置文件
兰州网络技术哪个好
舟山职业软件开发
数据库类图和表格一样吗
成都忠华盛世互联网科技有限公司
电脑服务器端
博图wincc数据库在哪里
合肥方便网络技术咨询哪家好
威海商友网络技术公司
怎样将服务器的程序弄出来
比特币网络安全概念
国泰安数据库免费时间
我的世界服务器怎么建造职业
x服务器 linux
桂林软件开发工资如何