[Python] 字典类型和操作——精简

🔥 信仰:一个人走得远了,就会忘记自己为了什么而出发,希望你可以不忘初心,不要随波逐流,一直走下去
🎶 博客主页:程序喵正在路上 的博客主页
🦋 欢迎关注🖱点赞👍收藏🌟留言🐾
🦄 本文由 程序喵正在路上 原创,CSDN首发!
💖 系列专栏:Python学习
🌠 首发时间:2022年5月7日
✅ 如果觉得博主的文章还不错的话,希望小伙伴们三连支持一下哦

字典类型的概念

列表是存储和检索数据的有序序列。当访问列表中的元素时,可以通过整数的索引来查找它,这个索引是元素在列表中的序号,列表的索引模式是 “<整数序号>查找<被索引内容>“

很多应用程序需要更灵活的信息查找方式,例如,在检索学生或员工信息时,需要基于身份证号码进行查找,而不是信息存储的序号。在编程术语中,根据一个信息查找另一个信息的方式构成了 “键值对”,它表示索引用的键和对应的值构成的成对关系,即通过一个特定的键 (身份证号码) 来访问值 (学生信息)。实际应用中有很多 “键值对” 的例子,例如,姓名和电话号码、用户名和密码、邮政编码和运输成本、国家名称和首都等。由于键不是序号,无法使用列表类型进行有效存储和索引。

通过任意键信息查找一组数据中值信息的过程叫映射Python 语言中通过字典实现映射。Python 语言中的字典可以通过大括号 ({}) 建立,建立模式如下:

{<键1>:<值1>, <键2>:<值2>, … ,<键n>:<值n>}

其中,键和值通过冒号连接,不同键值对通过逗号隔开。从 Python 设计角度考虑,由于大括号 {} 可以表示集合,因此字典类型也具有和集合类似的性质,即键值对之间没有顺序且不能重复。简单说,可以把字典看成元素是键值对的集合。

下面是一个简单的字典,它存储国家和首都的键值对:

Dcountry = {"中国": "北京", "美国": "华盛顿", "法国": "巴黎"}
print(Dcountry)

程序执行结果如下:

{‘中国’: ‘北京’, ‘美国’: ‘华盛顿’, ‘法国’: ‘巴黎’}

注意到,字典打印出来的顺序有可能与创建之初的顺序不同,这不是错误。字典是集合类型的延续,所以各个元素并没有顺序之分。如果想保持一个集合中元素的顺序,需要使用列表,而不是字典。

字典最主要的用法是查找与特定键相对应的值,这通过索引符号来实现。例如:

print(Dcountry["中国"])

程序执行结果如下:

北京

一般来说, 字典中键值对的访问模式如下,采用中括号格式:

<值> = <字典变量> [<键>]

字典中对某个键值的修改可以通过中括号的访问和赋值实现,例如:总结起来,字典是存储可变数量键值对的数据结构,键和值可以是任意数据类型,包括程序自定义的类型。Python 字典效率非常高,甚至可以存储几十万项内容。

这里我们讲一下索引:
索引是按照一定顺序检索内容的体系。编程语言的索引主要包括两类:数字索引,也称为位置索引;字符索引,也称为单词索引。数字索引采用数字作为索引数的方法,可以通过整数序号找到内容。字符索引采用字符作为索引词,通过具体的索引词找到数据,例如,现实生活中的汉语词典,通过汉语词找到释义。Python 语言中,字符串、列表、元组等都采用数字索引,字典采用字符索引。

字典类型的操作

与列表相似,Python 字典也有非常灵活的操作方法。使用大括号可以创建字典,并指定初始值,通过中括号可以增加新的元素,例如:

Dcountry = {"中国": "北京", "美国": "华盛顿", "法国": "巴黎"}
Dcountry["英国"] = "伦敦"
print(Dcountry)

程序执行结果如下:

{‘中国’: ‘北京’, ‘美国’: ‘华盛顿’, ‘法国’: ‘巴黎’, ‘英国’: ‘伦敦’}

直接使用大括号 ({}) 可以创建一个空的字典,并通过中括号 ([]) 向其增加元素,例如:

Dp = {}
Dp["2^10"] = 1024
print(Dp)

程序执行结果如下:

{‘2^10’: 1024}

需要注意的是,尽管集合类型也用大括号表示,直接使用大括号 ({}) 生成一个空的字典,而不是集合。生成空集合需要使用函数 set()

字典在 Python 内部也已采用面向对象方式实现,因此也有一些对应的方法, 采用 < a >.< b > () 格式,此外,还有一些函数能够用于操作字典,这些函数和方法如下表所示:

函数和方法描述
< d >.keys()返回所有的键信息
< d >.values()返回所有的值信息
< d >.items()返回所有的键值对
< d >.get(< key >,< default >)键存在则返回相应值,否则返回默认值
< d >.pop(< key >,< default >)键存在则返回相应值,同时删除键值对,否则返回默认值
< d >.popitem()随机从字典中取出一个键值对,以元组 (key, value) 形式返回
< d >.clear()删除所有的键值对
del < d >[< key >]删除字典中某一个键值对
< key > in < d >如果键在字典中则返回 True,否则返回 False

上述方法的一些例子如下,如果希望 key()values()items() 方法返回列表类型,可以采用 list() 函数将返回值转换成列表。

Dcountry = {"中国": "北京", "美国": "华盛顿", "法国": "巴黎"}
print(Dcountry.keys())
print(list(Dcountry.values()))
print(Dcountry.items())
print("中国" in Dcountry)  				# 只对键进行判断
print(Dcountry.get("美国", "悉尼"))  	# ‘美国’在字典中存在
print(Dcountry.get("澳大利亚", "悉尼"))  # ‘澳大利亚’在字典中不存在

每个语句执行结果如下:

Dcountry = {"中国": "北京", "美国": "华盛顿", "法国": "巴黎"}
print(Dcountry.keys())

dict_keys([‘中国’, ‘美国’, ‘法国’])

print(list(Dcountry.values()))

[‘北京’, ‘华盛顿’, ‘巴黎’]

print(Dcountry.items())

dict_items([(‘中国’, ‘北京’), (‘美国’, ‘华盛顿’), (‘法国’, ‘巴黎’)])

print("中国" in Dcountry)  				# 只对键进行判断

True

print(Dcountry.get("美国", "悉尼"))  	# ‘美国’在字典中存在

华盛顿

print(Dcountry.get("澳大利亚", "悉尼"))  # ‘澳大利亚’在字典中不存在

悉尼

与其他组合类型一一样, 字典可以通过 for-in 语句对其元素进行遍历,基本语法结构如下:

for <变量名> in <字典名>:
  <语句块>

由于键值对中的键相当于索引,因此,for 循环返回的变量名是字典的索引值。如果需要获得键对应的值,可以在语句块中通过 get() 方法获得。字典是实现键值对映射的数据结构,它采用固定数据类型的键数据作为索引,十分灵活,具有处理任意长度、混合类型键值对的能力。

为了更好地认识和使用字典,请理解如下一些基本原则。
(1) 字典是一个键值对的集合,该集合以键为索引,一个键信息只对应一个值信息。
(2) 字典中元素以键信息为索引访问。
(3) 字典长度是可变的,可以通过对键信息赋值实现增加或修改键值对。

🧸这次的分享就到这里啦,继续加油哦^^
🍭有出错的地方欢迎在评论区指出来,共同进步,谢谢啦

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序喵正在路上

你的鼓励是我创作最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值