IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> python入门与实战--字典 -> 正文阅读

[Python知识库]python入门与实战--字典

5.1 字典简介

字典是python中一种常用的数据结构,存放的是两组数据及映射关系,类似于数学中映射关系中的单映射。字典的两组数据,一组称为key(键),一组数据称为value(值),键和值组成一对,用冒号表示对应,即key:value,每个key:value是字典中的一个元素,元素和元素之间用逗号隔开,例如:

my_dict = {key1:value1, key2:value2, key3:value3}

字典中的元素没有先后次序之分,列表中的每个元素是有先后次序之分。

5.2 字典的创建

字典常见的常见的创建方式有两种:直接赋值创建和使用dict创建。

直接赋值创建:

>>> cvtutorials = {"host_name" : "cvtutorials", "domain_name_suffix" : "com"}
>>> cvtutorials
{'host_name': 'cvtutorials', 'domain_name_suffix': 'com'}

使用dict创建:

>>> cvtutorials = dict(host_name="cvtutorials", domain_name_suffix="com")
>>> cvtutorials
{'host_name': 'cvtutorials', 'domain_name_suffix': 'com'}

5.3 访问字典

访问字典需要用到字典名和索引(字典中的索引是key):

字典名[key]

cvtutorials = dict(host_name="cvtutorials", domain_name_suffix="com")
print(cvtutorials["host_name"])
print(cvtutorials["domain_name_suffix"])

运行结果如下:

>>> cvtutorials = dict(host_name="cvtutorials", domain_name_suffix="com")
>>> print(cvtutorials["host_name"])
cvtutorials
>>> print(cvtutorials["domain_name_suffix"])
com

dict.get(key, default=None): 返回指定键的值,如果值不在字典中返回default值。

>>> cvtutorials = {'host_name': 'cvtutorials', 'domain_name_suffix': 'com'}
>>> cvtutorials.get("host_name")
'cvtutorials'

dict.get(key)方法和dict[key]的最大不同点:在键不存在时,前者不会报错,后者会报错:

>>> cvtutorials = {'host_name': 'cvtutorials', 'domain_name_suffix': 'com'}
>>> cvtutorials.get("host_name")
'cvtutorials'
>>> cvtutorials.get("cv")
>>> cvtutorials["cv"]
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
KeyError: 'cv'

dict.setdefault(key, default=None) :如果键不存在,那么会添加键并将值设为default,举个例子:

>>> cvtutorials = {'host_name': 'cvtutorials', 'domain_name_suffix': 'com'}
>>> cvtutorials.setdefault("host_name")
'cvtutorials'
>>> cvtutorials
{'host_name': 'cvtutorials', 'domain_name_suffix': 'com'}
>>> cvtutorials.setdefault("domain")
>>> cvtutorials
{'host_name': 'cvtutorials', 'domain_name_suffix': 'com', 'domain': None}

5.4 字典的遍历

dict.items:访问字典的所有键值对,并返回可迭代对象(方便后面章节中的循环进行遍历),举个简单的例子:

>>> cvtutorials = {"host_name" : "cvtutorials", "domain_name_suffix" : "com"}
>>> cvtutorials.items()
dict_items([('host_name', 'cvtutorials'), ('domain_name_suffix', 'com')])

dict.keys:访问字典中的所有键,并返回可迭代对象,举个例子:

>>> cvtutorials = {"host_name" : "cvtutorials", "domain_name_suffix" : "com"}
>>> cvtutorials.keys()
dict_keys(['host_name', 'domain_name_suffix'])

dict.values:访问字典中的所有值,并返回可迭代对象,举个例子:

>>> cvtutorials = {"host_name" : "cvtutorials", "domain_name_suffix" : "com"}
>>> cvtutorials.values()
dict_values(['cvtutorials', 'com'])

5.5 修改字典和添加键-值对

这里将修改字典和添加键-值对放在一起讨论,有点类似于移动文件到某个文件夹下,如果存在同名文件就会覆盖,不存在就会移动。

添加键-值对的时候,如果key已经存在,value就会覆盖原有的,如果不存在就相当于添加键-值对,如下所示:

>>> cvtutorials = {'host_name': 'cvtutorials', 'domain_name_suffix': 'com'}
>>> cvtutorials["doc_build"] = "docsify"
>>> cvtutorials
{'host_name': 'cvtutorials', 'domain_name_suffix': 'com', 'doc_build': 'docsify'}
>>> cvtutorials["doc_build"] = "docsify_github"
>>> cvtutorials
{'host_name': 'cvtutorials', 'domain_name_suffix': 'com', 'doc_build': 'docsify_github'}

现在,我们来对原有的代码进行解释:我们首先创建了一个变量cvtutorials,接下来添加了键-值对,因为原有字典cvtutorials中没有名称为"doc_build"的key,所以这是添加键-值对的操作,我们打印了新添加的键-值对。最后,我们对键"docsify_build"进行赋值,因为"docsify_build”这个key已经存在了,此时的操作就是修改字典的操作,在5处可以看到修改后的结果。

dict1.update(dict2):将一个字典dict2中的所有键值对添加到另一个字典dict1中。

>>> dict1 = {"1":"one", "2":"two"}
>>> dict2 = {"3":"three", "4":"four"}
>>> dict1.update(dict2)
>>> dict1
{'1': 'one', '2': 'two', '3': 'three', '4': 'four'}

5.6 删除键-值对

我们使用del对某个键-值对进行删除,标准形式为:

del 字典名[键]

例如,运行如下代码,可以看到相应的键值对被删除了。

>>> cvtutorials = {'host_name': 'cvtutorials', 'domain_name_suffix': 'com', 'doc_build': 'docsify_github'}
>>> del cvtutorials["doc_build"]
>>> cvtutorials
{'host_name': 'cvtutorials', 'domain_name_suffix': 'com'}

dict.clear():清空字典中的所有元素。

>>> cvtutorials = {'host_name': 'cvtutorials', 'domain_name_suffix': 'com', 'domain': None}
>>> cvtutorials.clear()
>>> cvtutorials
{}

5.7 其他字典方法

len():这个方法会计算字典的长度,也就是字典中键的数目。请注意,这里字典变量应该放在len()的括号中,和前面的方法要注意区别。

>>> cvtutorials = {"host_name" : "cvtutorials", "domain_name_suffix" : "com"}
>>> len(cvtutorials)
2

dict.copy():将字典复制一份,举个简单的例子:

>>> cvtutorials = {"host_name" : "cvtutorials", "domain_name_suffix" : "com"}
>>> dict1 = cvtutorials.copy()
>>> dict1
{'host_name': 'cvtutorials', 'domain_name_suffix': 'com'}
  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2022-06-06 17:18:20  更:2022-06-06 17:18:49 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/18 13:24:29-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码