iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Python中如何定义字典
  • 526
分享到

Python中如何定义字典

2023-06-29 15:06:29 526人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

这篇文章主要讲解了“python中如何定义字典”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python中如何定义字典”吧!Python中的字典由于是对象的集合属于复合数据类型,类似于列表。

这篇文章主要讲解了“python中如何定义字典”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python中如何定义字典”吧!

Python中的字典由于是对象的集合属于复合数据类型,类似于列表。

定义字典

字典是 Python 对数据结构的实现,通常称为关联数组。字典由键值对的集合组成。每个键值对将键映射到其关联的值。

Python中如何定义字典

可以通过将逗号分隔的键值对列表括在花括号 ( {} ) 中来定义字典。冒号 ( : ) 将每个键与其关联的值分开。

d = {    <key>: <value>,    <key>: <value>,      .      .      .    <key>: <value>}# 定义一个Team>>> MLB_team = {...     'Colorado' : 'Rockies',...     'Boston'   : 'Red Sox',...     'Minnesota': 'Twins',...     'Milwaukee': 'Brewers',...     'Seattle'  : 'Mariners'... }

可以使用内置dict()函数构建字典。

d = dict([    (<key>, <value>),    (<key>, <value),      .      .      .    (<key>, <value>)])# 定义一个Team>>> MLB_team = dict([...     ('Colorado', 'Rockies'),...     ('Boston', 'Red Sox'),...     ('Minnesota', 'Twins'),...     ('Milwaukee', 'Brewers'),...     ('Seattle', 'Mariners')... ])# 另一种定义方式>>> MLB_team = dict(...     Colorado='Rockies',...     Boston='Red Sox',...     Minnesota='Twins',...     Milwaukee='Brewers',...     Seattle='Mariners'... )

字典内容的显示。

>>> type(MLB_team)<class 'dict'>>>> MLB_team{'Colorado': 'Rockies', 'Boston': 'Red Sox', 'Minnesota': 'Twins','Milwaukee': 'Brewers', 'Seattle': 'Mariners'}

字典中的条目按定义的顺序显示,使用索引无法指定访问元素。

>>> MLB_team[1]Traceback (most recent call last):  File "<pyshell#13>", line 1, in <module>    MLB_team[1]KeyError: 1

字典的访问

通过在方括号[]中指定对应的键,从字典中检索值。

>>> MLB_team['Minnesota']'Twins'>>> MLB_team['Colorado']'Rockies'

检索值不在字典中则抛出异常。

>>> MLB_team['Toronto']Traceback (most recent call last):  File "<pyshell#19>", line 1, in <module>    MLB_team['Toronto']KeyError: 'Toronto'

现有字典添加数据只需分配新的键和值。

>>> MLB_team['Kansas City'] = 'Royals'>>> MLB_team{'Colorado': 'Rockies', 'Boston': 'Red Sox', 'Minnesota': 'Twins','Milwaukee': 'Brewers', 'Seattle': 'Mariners', 'Kansas City': 'Royals'}

更新数据,只需为现有键分配一个新值。

>>> MLB_team['Seattle'] = 'Seahawks'>>> MLB_team{'Colorado': 'Rockies', 'Boston': 'Red Sox', 'Minnesota': 'Twins','Milwaukee': 'Brewers', 'Seattle': 'Seahawks', 'Kansas City': 'Royals'}

删除数据,使用 del 指定要删除的键。

>>> del MLB_team['Seattle']>>> MLB_team{'Colorado': 'Rockies', 'Boston': 'Red Sox', 'Minnesota': 'Twins','Milwaukee': 'Brewers', 'Kansas City': 'Royals'}

字典键与列表索引

经常遇见的一些错误做法。

>>> MLB_team['Toronto']Traceback (most recent call last):  File "<pyshell#8>", line 1, in <module>    MLB_team['Toronto']KeyError: 'Toronto'>>> MLB_team[1]Traceback (most recent call last):  File "<pyshell#9>", line 1, in <module>    MLB_team[1]KeyError: 1# 数字作为键值使用>>> d = {0: 'a', 1: 'b', 2: 'c', 3: 'd'}>>> d{0: 'a', 1: 'b', 2: 'c', 3: 'd'}>>> d[0]'a'>>> d[2]'c'

不能将字典视为列表。

>>> type(d)<class 'dict'>>>> d[-1]Traceback (most recent call last):  File "<pyshell#30>", line 1, in <module>    d[-1]KeyError: -1>>> d[0:2]Traceback (most recent call last):  File "<pyshell#31>", line 1, in <module>    d[0:2]TypeError: unhashable type: 'slice'>>> d.append('e')Traceback (most recent call last):  File "<pyshell#32>", line 1, in <module>    d.append('e')AttributeError: 'dict' object has no attribute 'append'

增量构建字典

创建新的空字典,然后通过一次添加一个新的键和值构建。

>>> person = {}>>> type(person)<class 'dict'>>>> person['fname'] = 'Joe'>>> person['lname'] = 'Fonebone'>>> person['age'] = 51>>> person['spouse'] = 'Edna'>>> person['children'] = ['Ralph', 'Betty', 'Joey']>>> person['pets'] = {'dog': 'Fido', 'cat': 'Sox'}# 创建和访问字典>>> person{'fname': 'Joe', 'lname': 'Fonebone', 'age': 51, 'spouse': 'Edna','children': ['Ralph', 'Betty', 'Joey'], 'pets': {'dog': 'Fido', 'cat': 'Sox'}}>>> person['fname']'Joe'>>> person['age']51>>> person['children']['Ralph', 'Betty', 'Joey']# 检索字典数据>>> person['children'][-1]'Joey'>>> person['pets']['cat']'Sox'

构建的字典中数据类型没有明确的限制。

>>> foo = {42: 'aaa', 2.78: 'bbb', True: 'ccc'}>>> foo{42: 'aaa', 2.78: 'bbb', True: 'ccc'}>>> foo[42]'aaa'>>> foo[2.78]'bbb'>>> foo[True]'ccc'

字典键的限制

几乎任何类型的值都可以用作 Python 中的字典键。

>>> foo = {42: 'aaa', 2.78: 'bbb', True: 'ccc'}>>> foo{42: 'aaa', 2.78: 'bbb', True: 'ccc'}# 可以使用类型和函数等内置对象>>> d = {int: 1, float: 2, bool: 3}>>> d{<class 'int'>: 1, <class 'float'>: 2, <class 'bool'>: 3}>>> d[float]2>>> d = {bin: 1, hex: 2, oct: 3}>>> d[oct]3

同一字典内重复的键无法添加,如果添加则对原键的值进行替换。

>>> MLB_team = {...     'Colorado' : 'Rockies',...     'Boston'   : 'Red Sox',...     'Minnesota': 'Twins',...     'Milwaukee': 'Brewers',...     'Seattle'  : 'Mariners'... }>>> MLB_team['Minnesota'] = 'Timberwolves'>>> MLB_team{'Colorado': 'Rockies', 'Boston': 'Red Sox', 'Minnesota': 'Timberwolves','Milwaukee': 'Brewers', 'Seattle': 'Mariners'}

元组也可以是字典键,因为元组是不可变的。

>>> d = {(1, 1): 'a', (1, 2): 'b', (2, 1): 'c', (2, 2): 'd'}>>> d[(1,1)]'a'>>> d[(2,1)]'c'

字典值的限制

字典的中的值是没有任何限制的。

>>> d = {0: 'a', 1: 'a', 2: 'a', 3: 'a'}>>> d{0: 'a', 1: 'a', 2: 'a', 3: 'a'}>>> d[0] == d[1] == d[2]True

运算符和内置函数

in and not in运算符返回True or False。

>>> MLB_team = {...     'Colorado' : 'Rockies',...     'Boston'   : 'Red Sox',...     'Minnesota': 'Twins',...     'Milwaukee': 'Brewers',...     'Seattle'  : 'Mariners'... }>>> 'Milwaukee' in MLB_teamTrue>>> 'Toronto' in MLB_teamFalse>>> 'Toronto' not in MLB_teamTrue

也可以与短路评估一起使用。

>>> MLB_team['Toronto']Traceback (most recent call last):  File "<pyshell#2>", line 1, in <module>    MLB_team['Toronto']KeyError: 'Toronto'>>> 'Toronto' in MLB_team and MLB_team['Toronto']False

内置字典方法

字符串和列表一样字典上也是有调用内置方法。

# d.clear() 清空字典数据>>> d = {'a': 10, 'b': 20, 'c': 30}>>> d{'a': 10, 'b': 20, 'c': 30}>>> d.clear()>>> d{}# d.get(<key>[, <default>]) 如果字典中存在键,则返回该键的值>>> d = {'a': 10, 'b': 20, 'c': 30}>>> print(d.get('b'))20>>> print(d.get('z'))None# <key>未找到并且<default>指定了可选参数>>> print(d.get('z', -1))-1# d.items() 返回字典中的键值对列表>>> d = {'a': 10, 'b': 20, 'c': 30}>>> d{'a': 10, 'b': 20, 'c': 30}>>> list(d.items())[('a', 10), ('b', 20), ('c', 30)]>>> list(d.items())[1][0]'b'>>> list(d.items())[1][1]20# d.keys() 返回字典中的键列表>>> d = {'a': 10, 'b': 20, 'c': 30}>>> d{'a': 10, 'b': 20, 'c': 30}>>> list(d.keys())['a', 'b', 'c']# d.values() 返回字典中的值列表>>> d = {'a': 10, 'b': 20, 'c': 30}>>> d{'a': 10, 'b': 20, 'c': 30}>>> list(d.values())[10, 20, 30]# d.pop(<key>[, <default>]) 从字典中删除一个键,如果存在并返回它的值>>> d = {'a': 10, 'b': 20, 'c': 30}>>> d.pop('b')20>>> d{'a': 10, 'c': 30}# 如果不存在则引发异常>>> d = {'a': 10, 'b': 20, 'c': 30}>>> d.pop('z')Traceback (most recent call last):  File "<pyshell#4>", line 1, in <module>    d.pop('z')KeyError: 'z'# 如果指定默认参数<default>则返回该值>>> d = {'a': 10, 'b': 20, 'c': 30}>>> d.pop('z', -1)-1>>> d{'a': 10, 'b': 20, 'c': 30}# d.popitem() 从字典中删除键值对>>> d = {'a': 10, 'b': 20, 'c': 30}>>> d.popitem()('c', 30)>>> d{'a': 10, 'b': 20}>>> d.popitem()('b', 20)>>> d{'a': 10}# d为空会引发异常>>> d = {}>>> d.popitem()Traceback (most recent call last):  File "<pyshell#11>", line 1, in <module>    d.popitem()KeyError: 'popitem(): dictionary is empty'# d.update(<obj>) 将字典与另一个字典或可迭代的键值对合并# (被替换键值).update(替换键值)>>> d1 = {'a': 10, 'b': 20, 'c': 30}>>> d2 = {'b': 200, 'd': 400}>>> d1.update(d2)>>> d1{'a': 10, 'b': 200, 'c': 30, 'd': 400}# 使用元组更新>>> d1 = {'a': 10, 'b': 20, 'c': 30}>>> d1.update([('b', 200), ('d', 400)])>>> d1{'a': 10, 'b': 200, 'c': 30, 'd': 400}# 指定关键字参数>>> d1 = {'a': 10, 'b': 20, 'c': 30}>>> d1.update(b=200, d=400)>>> d1{'a': 10, 'b': 200, 'c': 30, 'd': 400}

感谢各位的阅读,以上就是“Python中如何定义字典”的内容了,经过本文的学习后,相信大家对Python中如何定义字典这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

--结束END--

本文标题: Python中如何定义字典

本文链接: https://www.lsjlt.com/news/325588.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Python中如何定义字典
    这篇文章主要讲解了“Python中如何定义字典”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python中如何定义字典”吧!Python中的字典由于是对象的集合属于复合数据类型,类似于列表。...
    99+
    2023-06-29
  • python如何定义一个字典
    在Python中,可以使用花括号 {} 来定义一个字典。字典是由键-值对组成的无序集合。每个键-值对之间用逗号分隔,键和值之间用冒号...
    99+
    2023-08-15
    python
  • python定义多维字典
    在python中默认的dict方法定义多维字典较为复杂并不能直接通过 a=dict() a['b']['c']['d'] = 1 >>> a['b']['c']['d']=1 Traceback (most recent ...
    99+
    2023-01-31
    多维 字典 定义
  • Python字典怎么定义
    这篇文章主要介绍“Python字典怎么定义”,在日常操作中,相信很多人在Python字典怎么定义问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Python字典怎么定义”的疑惑有所帮助!接下来,请跟着小编一起来...
    99+
    2023-06-29
  • python中怎么定义一个空字典
    在Python中,可以使用两种方式定义一个空字典。方式1: 使用大括号{}来定义空字典。```pythonmy_dict = {}`...
    99+
    2023-08-15
    python
  • python如何定义默认词典
    小编给大家分享一下python如何定义默认词典,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!默认词典>>>&n...
    99+
    2022-10-19
  • python怎么用.get()和.setdefault()在字典中定义默认值
    这篇文章主要介绍python怎么用.get()和.setdefault()在字典中定义默认值,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!用.get()和.setdefault()在字典中定义默认值假设我们有一个字典...
    99+
    2023-06-27
  • python中如何创建字典
    这篇文章主要为大家展示了“python中如何创建字典”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“python中如何创建字典”这篇文章吧。创建字典的三种方法#&...
    99+
    2022-10-19
  • Python中字典如何使用
    这期内容当中小编将会给大家带来有关Python中字典如何使用,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。Python字典应用方式1)get(key,default=None) 返回键值key对应的值;如...
    99+
    2023-06-17
  • Python的“二维”字典 (two-dimension dictionary)定义与实现方法
    本文实例讲述了Python的“二维”字典 (two-dimension dictionary)定义与实现方法。分享给大家供大家参考,具体如下: Python 中的dict可以实现迅速查找。那么有没有像数组有...
    99+
    2022-06-04
    字典 定义 方法
  • python中的字典
    字典 :一个关联数组或散列表 ,可通过关键字索引的对象。字典的用途:定义一个可包含多个命名字段的对象,也可以用作快速查找无序数据的容器字典是python中最完善的数据类型 在程序中最常用于存储和处理数据如何创建:1,在{}中放入值即可创建一...
    99+
    2023-01-31
    字典 python
  • Python中字典dict
    字典是一种组合数据,没有顺序的组合数据,数据以键值对形式出现 # 字典的创建 # 创建空字典1 d = {} print(d) # 创建空字典2 d = dict() print(d) # 创建有值的字典, 每一组数据用冒号隔...
    99+
    2023-01-30
    字典 Python dict
  • python如何合并字典
    小编给大家分享一下python如何合并字典,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!合并字典以上是“python如何合并字典...
    99+
    2022-10-19
  • 如何排序Python字典
    这篇文章主要介绍“如何排序Python字典”,在日常操作中,相信很多人在如何排序Python字典问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何排序Python字典”的疑惑有所帮助!接下来,请跟着小编一起来...
    99+
    2023-06-15
  • python如何输出字典
    小编给大家分享一下python如何输出字典,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!说明输出字典的所有键,调用方法为keys(),其语法结构为dictname...
    99+
    2023-06-20
  • python中字典update函数如何用
    在python中使用字典update函数的方法update:update()函数的作用是将字典dict2的键或值对更新到dict中。update()函数语法:dict.update(dict2)参数:dict2:添加到指定字典dict里的字...
    99+
    2022-10-12
  • python如何取出字典中的值
    要取出字典中的值,可以使用字典的键来访问相应的值。以下是几种常见的方法:1. 使用方括号[]来访问字典的值:```pythonmy_dict = {"name": "Alice", "age": 25, "city": "New Yor...
    99+
    2023-08-09
    python
  • Python中如何替换字典中的值
    目录将关键字参数传递给 dict.update() 方法使用字典解包替换字典中的值使用 for 循环替换字典中的值使用字典合并运算符替换字典中的值根据另一个字典替换字典中的值使用字典...
    99+
    2023-03-22
    Python替换字典中的值 Python替换字典值
  • Python中的字典是如何工作的?
    Python中的字典是如何工作的?字典是Python中一种非常重要的数据结构,它以键值对的形式存储数据,并且可以根据键快速地获取对应的值。本文将详细介绍字典的使用方法和底层实现机制,为读者深入理解字典提供帮助。创建字典在Python中,我们...
    99+
    2023-10-22
    Python 字典 工作方式
  • Python如何向字典中添加元素
    要向字典中添加元素,可以使用索引操作符 [] 来赋值。以下是向字典中添加元素的几种方法:1. 使用索引操作符 [] 来添加元素。``...
    99+
    2023-09-06
    python
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作