python 字典的使用大全

简介: python 字典的使用大全

说明:目录中的\是因为页面转义的问题已联系客服小姐姐,谢谢大家支持!

三岁学习系列,白话带你学编程


字典



字典是包括0个或多个键值对的集合,没有长度限制。可以根据键值索引值的内容


键值对


键–值 是映射类型数据的一种组合,每个元素都是一个键值对。

键就像是一个英文单词,值就像是在英汉字典的页码

键是唯一的,值可以有多个

但是键是无序的

<键>:<值>

通过键来查找值


字典的创建


字典用大括号把键值对进行包裹,键值对之间用逗号隔开


>>> Dcountry = {'浙江':'杭州', '江苏':'南京','江西':'南昌'}
>>> Dcountry
{'浙江': '杭州', '江苏': '南京', '江西': '南昌'}


字典的查找,修改,添加



查找


字典是采用字符索引的(列表采用数字索引)

字典名[<键名>] = <值>


>>> Dcountry ['浙江']
'杭州'


添加


字典名[<键>] = <值>


>>> Dcountry['安徽']= '合肥'
>>> Dcountry
{'浙江': '杭州', '江苏': '南京', '江西': '南昌', '安徽': '合肥'}


修改


修改差不多和添加一样

因为<键>不可以重复,所以会被后面的覆盖

利用这一点就可以修改


>>> Dcountry ['浙江']='大美杭州'
>>>> Dcountry
{'浙江': '大美杭州', '江苏': '南京', '江西': '南昌', '安徽': '合肥'}


是不是觉得这些很简单,嗯!我差点也这么以为了。


空字典


空字典要怎么表述?

字典是{……}

空字典是{ }

问题来了? 那个集合也是{……}

注:空集合用 set()

空字典用{ }


字典的函数和方法



image.png


<d>.keys()


返回所有的键信息

以键值的形式

>>> Dcountry.keys ()
dict_keys(['浙江', '江苏', '江西', '安徽'])


<d>.values()


返回所有的值的信息

>>> Dcountry.values()
dict_values(['大美杭州', '南京', '南昌', '合肥'])


<d>.items()


返回所有键值对的信息

>>> Dcountry.items()
dict_items([('浙江', '大美杭州'), ('江苏', '南京'), ('江西', '南昌'), ('安徽', '合肥')])


注:如果要把以上的返回值类型转换成类表需要使用 list()


>>> list(Dcountry.keys())
['浙江', '江苏', '江西', '安徽']
>>> list(Dcountry.items())
[('浙江', '大美杭州'), ('江苏', '南京'), ('江西', '南昌'), ('安徽', '合肥')]
>>> list(Dcountry.values())
['大美杭州', '南京', '南昌', '合肥']


<d>.get(<ksy>,<default>)


查找键值存在返回值,不存在返回默认值<default>

>>> Dcountry.get('浙江')
'杭州'
>>> Dcountry.get('北京')#是空值,不显示
>>> Dcountry.get('北京','是首都')
'是首都'


<d>.pop(<ksy>,<default>)


查找键值存在返回值,同时删除该键值对,不存在返回默认值<default>

>>> Dcountry.pop('浙江')
'杭州'
>>> Dcountry
{'江苏': '南京', '江西': '南昌', '安徽': '合肥'}
>>> Dcountry.pop('福建')#如果值不存在会报错
Traceback (most recent call last):
  File "<pyshell#136>", line 1, in <module>
    Dcountry.pop('福建')
KeyError: '福建'
>>> Dcountry.pop('福建','字典中不存在')
'字典中不存在'


<d>.popitem()


随机取出键值对,以元组的形式返回(key,value)

>>> Dcountry.popitem()
('安徽', '合肥')
>>> Dcountry.popitem()
('江西', '南昌')
>>> Dcountry.popitem()
('江苏', '南京')
>>> Dcountry.popitem()
Traceback (most recent call last):
  File "<pyshell#141>", line 1, in <module>
    Dcountry.popitem()
KeyError: 'popitem(): dictionary is empty'


注意:是取出(相对应随机删除,取出即不存在)如果是空字符串则报错


<d>.clear()


删除所有的键值对

>>> Dcountry = {'浙江':'杭州', '江苏':'南京','江西':'南昌'}
>>> Dcountry
{'浙江': '杭州', '江苏': '南京', '江西': '南昌'}
>>> Dcountry.clear()
>>> Dcountry
{}


del <d>[<key>]


删除对应的某一键值对

>>> Dcountry = {'浙江':'杭州', '江苏':'南京','江西':'南昌'}
>>> del Dcountry['江苏']
>>> Dcountry
{'浙江': '杭州', '江西': '南昌'}
>>> del Dcountry['福建']
Traceback (most recent call last):
  File "<pyshell#149>", line 1, in <module>
    del Dcountry['福建']
KeyError: '福建'


注意:如果键值对不存在则报错,记得用异常处理


<key> in <d> or <key> not in <d>


in 如果键在字典中则返回True,否则返回False

not in 如果键不在字典中则返回True,否则返回False


>>> '浙江' in Dcountry
True
>>> '浙江' not in Dcountry
False


<d>.setdefault(<key>[,<default>])


查看键是否存在,存在返回值,不存在设置键值对

字典名.setdefault.(键名[,值])值默认为0


>>> Dcountry.setdefault('浙江')
'杭州'
>>> Dcountry.setdefault('福建','福州')
'福州'
>>> Dcountry.setdefault('山东','字典里面没有')
'字典里面没有'


<d1>.update<d2>


更新字典,把字典2的键值更新到字典1中

>>> Dcountry = {'浙江': '杭州', '江西': '南昌', '福建': '福州'}
>>> Dcountry1 = {'山东':'济南', '河北':'石家庄', '山西':'太原'}
>>> Dcountry.update(Dcountry1)
>>> Dcountry
{'浙江': '杭州', '江西': '南昌', '福建': '福州', '山东': '济南', '河北': '石家庄', '山西': '太原'}
>>> Dcountry1
{'山东': '济南', '河北': '石家庄', '山西': '太原'}


dict.fromkeys(seq[,value])


用给定键创建新字典

>>> a = dict.fromkeys('金华','火腿')
>>> a
{'金': '火腿', '华': '火腿'}
>>> seq = ('北京', '上海', '天津', '重庆')
>>> b = dict.fromkeys(seq,'直辖市')
>>> b
{'北京': '直辖市', '上海': '直辖市', '天津': '直辖市', '重庆': '直辖市'}


注:必须把值赋给字典名否则无法输出


<d>.copy()


复制生成新的字典

>>> a = b.copy()
>>> a
{'北京': '直辖市', '上海': '直辖市', '天津': '直辖市', '重庆': '直辖市'}


遍历输出


键值对

都可以遍历输出


>>> for key in Dcountry1.keys():
  print(key)  
山东
河北
山西
>>> for value in Dcountry1.values():
  print(value)  
济南
石家庄
太原
>>> for item in Dcountry1.items():
  print(item) 
('山东', '济南')
('河北', '石家庄')
('山西', '太原')


字典是实现键值对映射的数据结构,长度任性,键值对也是混合类型的,所以使用非常灵活。


整理大全就到这里了,多多练习,你会发现更多小秘密

希望大家多多支持,点个赞,收藏一波,留个言,三连来一下

谢谢大家~~~~

目录
相关文章
|
19天前
|
XML JSON API
如何使用Python将字典转换为XML
本文介绍了如何使用Python中的`xml.etree.ElementTree`库将字典数据结构转换为XML格式。通过定义递归函数处理字典到XML元素的转换,生成符合标准的XML文档,适用于与旧系统交互或需支持复杂文档结构的场景。示例代码展示了将一个简单字典转换为XML的具体实现过程。
12 1
|
3月前
|
存储 JSON 索引
一文让你彻底搞懂 Python 字典是怎么实现的
一文让你彻底搞懂 Python 字典是怎么实现的
61 13
|
3月前
|
存储 数据安全/隐私保护 Python
Python常用数据结构——字典的应用
Python常用数据结构——字典的应用
42 2
|
3月前
|
关系型数据库 MySQL 数据库
Python MySQL查询返回字典类型数据的方法
通过使用 `mysql-connector-python`库并选择 `MySQLCursorDict`作为游标类型,您可以轻松地将MySQL查询结果以字典类型返回。这种方式提高了代码的可读性,使得数据操作更加直观和方便。上述步骤和示例代码展示了如何实现这一功能,希望对您的项目开发有所帮助。
159 4
|
3月前
|
Python
Python 字典删除下标前两个
Python 字典删除下标前两个
21 1
|
2月前
|
存储 安全 Serverless
Python学习四:流程控制语句(if-else、while、for),高级数据类型(字符串、列表、元组、字典)的操作
这篇文章主要介绍了Python中的流程控制语句(包括if-else、while、for循环)和高级数据类型(字符串、列表、元组、字典)的操作。
40 0
|
2月前
|
存储 自然语言处理 数据库
Python字典操作实现文章敏感词检索
Python字典操作实现文章敏感词检索
33 0
|
2月前
|
存储 JSON 数据处理
分析、总结Python使用列表、元组、字典的场景
分析、总结Python使用列表、元组、字典的场景
33 0
|
2月前
|
存储 Java Serverless
【Python】字典
【Python】字典
35 1
|
2月前
|
Python
Python操作:字符串--列表--元组--字典--运算符 (一)
Python操作:字符串--列表--元组--字典--运算符 (一)
23 0