Python dict字典详解

Python 中的字典是一种可变的、无序的数据类型,用于存储键值对(key-value)的数据结构。字典的特点在于可以快速的查找和修改键值对的值,是一种非常灵活、方便的数据结构。

字典类型是 Python 中唯一的映射类型。“映射”是数学中的术语,简单理解,它指的是元素之间相互对应的关系,即通过一个元素,可以唯一找到另一个元素。

字典类型所具有的主要特征如下表所示:

主要特征 解释
通过键而不是通过索引来读取元素 字典类型有时也称为关联数组或者散列表(hash)。它是通过键将一系列的值联系起来的,这样就可以通过键从字典中获取指定项,但不能通过索引来获取。
字典是任意数据类型的无序集合 和列表、元组不同,通常会将索引值 0 对应的元素称为第一个元素,而字典中的元素是无序的。
字典是可变的,并且可以任意嵌套 字典可以在原处增长或者缩短(无需生成一个副本),并且它支持任意深度的嵌套,即字典存储的值也可以是列表或其它的字典。
字典中的键必须唯一 字典中,不支持同一个键出现多次,否则只会保留最后一个键值对。
字典中的键必须不可变 字典中每个键值对的键是不可变的,只能使用数字、字符串或者元组,不能使用列表。

Python 创建字典

1.使用字典字面量

在Python中,字典字面量的语法为{key1: value1, key2: value2, ……, keyn: valuen}。语法如下:
dict = {key1: value1, key2: value2, ……, keyn: valuen} .

例如:

>>> dict = {'Name': 'Tom', 'Age': 18, 'Country': 'USA'}
>>> print(dict)
{'Name': 'Tom', 'Age': 18, 'Country': 'USA'}

2:dict()函数

除了字典字面量,我们还可以使用dict()函数创建字典,语法如下:

dict(key1=value1, key2=value2, ……, keyn=valuen)

例如:

>>> dict = dict(Name='Tom', Age=18, Country='USA')
>>> print(dict)
{'Name': 'Tom', 'Age': 18, 'Country': 'USA'}

Python 访问字典元素

Python中访问字典元素的方法,主要有以下几种:

1:使用字典的键访问元素

在Python中,可以使用字典的键来访问字典的元素,语法如下:

dict[key]

比如:

>>> dict = {'Name': 'Tom', 'Age': 18, 'Country': 'USA'}
>>> print(dict['Name'])
Tom
>>> print(dict['Age'])
18

2:使用get()方法访问字典元素

另外一种访问字典元素的方法是使用get()方法,语法如下:

dict.get(key, default)

其中,key为要查找的键,default为指定的默认值,如果字典中不存在该键,则返回default。比如:

>>> dict = {'Name': 'Tom', 'Age': 18, 'Country': 'USA'}
>>> print(dict.get('Name'))
Tom
>>> print(dict.get('Gender', 'Not Found'))
Not Found

Python 删除字典元素

在Python中,有多种删除字典元素的方法,主要有如下几种:

1:使用del语句删除

可以使用del语句删除字典中的元素,语法为:del dict[key]

比如:

>>> dict = {'Name': 'Tom', 'Age': 18, 'Country': 'USA'}
>>> print(dict)
{'Name': 'Tom', 'Age': 18, 'Country': 'USA'}
>>> del dict['Name']
>>> print(dict)
{'Age': 18, 'Country': 'USA'}

2:使用pop()方法删除

还可以使用pop()方法删除字典中的元素,语法如下:

dict.pop(key, default)

其中,key为要删除的键,default为指定的默认值,如果字典中不存在该键,则返回default。比如:

>>> dict = {'Name': 'Tom', 'Age': 18, 'Country': 'USA'}
>>> print(dict.pop('Name'))
Tom
>>> print(dict)
{'Age': 18, 'Country': 'USA'}

3:使用clear()方法清空字典

可以使用clear()方法清空字典,语法为:dict.clear()

举例如下:

>>> dict = {'Name': 'Tom', 'Age': 18, 'Country': 'USA'}
>>> print(dict)
{'Name': 'Tom', 'Age': 18, 'Country': 'USA'}
>>> dict.clear()
>>> print(dict)
{}

Python 操作字典的内置方法

另外在Python中,还有很多字典的内置方法,可以方便的操作字典。

下面是一些常见的字典内置方法:

  • clear():用于删除字典内所有元素。
  • copy():用于复制一个字典。
  • fromkeys(seq[, v]):用于创建一个新字典,以 seq 中元素做字典的键,v 为字典所有键对应的初始值。
  • get(key, default=None):返回指定键的值,如果值不在字典中返回 default 值。
  • items():以列表返回可遍历的(键,值)元组数组。
  • keys():返回字典所有的键。
  • pop(key[, default]):删除字典给定键 key 所对应的值,返回值为被删除的值。如果 key 不存在,返回 default 值。
  • popitem():随机返回并删除字典中的一对键和值(一般删除末尾对)。
  • setdefault(key, default=None):和get()类似, 但如果键不存在于字典中,将会添加键并将值设为default。
  • update([other]):把字典参数 other 的 key-value(键-值) 对更新到字典中。
  • values():返回字典中的所有值。

此文章发布者为:Python技术站作者[metahuber],转载请注明出处:https://pythonjishu.com/python-dict/

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023年 2月 14日 下午8:58
下一篇 2023年 2月 14日 下午10:17

相关推荐

  • Python 序列详解(含索引、切片)

    序列,指的是一块连续的、可存放多个值的内存空间,这些值按顺序排列,并且每个值所在的位置都有个编号(称为索引),可以通过编号访问它们。形象化地解释,你可以将它看做是一家旅店,店中的每个房间就是序列的一个个内存空间,每个房间的房间号就是索引值。我们想去哪个房间,通过房间号(索引)查找就可以。

    2023年 1月 15日
    30
  • Python查询列表元素的5种常用方法

    Python 中查找列表中元素的函数是编程语言中常用的功能。列表是 Python 中一种常用的数据类型,表示一组有序的元素。因此,快速查找列表中的元素非常重要。 在 Python 中,有多种方法可以查找列表中的元素,包括以下函数: in 运算符 in 运算符用于快速检查列表中是否存在某个指定的元素。语法如下: if element in list: # do…

    2023年 2月 14日
    00
  • Python字符串(String)类型

    Python中的字符串类型 字符串(String)指的是一个或多个字符的组合。在Python这门语言中,字符串必须由双引号""或者单引号”包围,格式如下: "字符串内容"’字符串内容’ 字符串中的内容可以随便书写,包含数字、字母、标点、特殊符号、中文、英文等等。 下面都是合法的字符串: “12342” ‘12345a…

    2022年 11月 28日
    10
  • Python list是什么?它与数组有什么区别?

    在我们实际开发过程中,经常需要把多个数据存储到一个变量中的情况,为的是后续代码的使用。 这种可以存储多个数据的元素,在一些高级语言中称为Array(数组)。 而在Python当中,没有数组,但却加入了更为强大的list(列表)。 一般情况下,高级语言中的一个数组只能存入同一数据类型的数据,比如 int数组,只允许存入int类型的数,string数组,只允许存…

    2023年 1月 15日
    00
  • Python中的集合(set)是什么?

    集合是Python中的一种数据结构,与列表、元组、字典等数据结构不同,它没有重复的元素。它是一种可变的数据类型,可以在运行时动态添加或删除元素。集合的元素可以是任何类型,但通常是数字、字符串或其他不可变类型。 集合有以下几个特征: 集合中的元素是无序的,也就是说,每次创建集合时,集合中的元素的顺序可能不同。 集合中的元素是唯一的,也就是说,集合中的元素不能重…

    2023年 2月 14日
    00
  • Python整数类型(int)详解

    Python中的整数类型 在数学中,整数就是正整数、零、负整数的集合。在Python中,对于整数的定义也与此相同。 强类型编程语言的整数,一般会限定整数长度,以分配不同的存储空间。因此整数类型的声明关键字会有:short、int、long、long long等,它们的长度依次递增,开发者需要根据实际数字的大小选用不同的类型。 而Python则不同,它只有一种…

    2022年 11月 20日
    00
  • Python bool布尔类型详解

    bool 类型只有两个值,要么为True(真),要么为False(假)。 bool 类型用于比较算式,如3>2这个算式里就称为“真”,Python当中用 True 来表示。 比如2>10这个算式,它是错误的,在程序世界里就称之为“假”,Python当中用 False 来表示。 实例如下: >>> 3>2 True >>&g…

    Python数据类型 2022年 12月 18日
    00
  • Python修改 list列表元素

    Python 有两种修改列表元素的方法: 修改单个元素 同时修改多个元素 修改单个元素 修改列表单个元素很简单,直接给对应索引位置的元素赋值即可。语法为:列表变量名[索引值]=值。 实例如下: tech = ['Python','Web','Spider'] tech[1] = 'Big …

    2023年 1月 29日
    00
  • Python小数类型(float)详解

    浮点型 Python中,小数也称为浮点数,类型名是“float”。 “浮点数”,是计算机采用的一种数字的表示方法,它相对于定点数加上一个阶码。阶码指明了小数点在定点数中的位置,如果小数点发生移动,就称为浮点数;如果小数点不动,就称为定点数。 其他强类型语言根据存储空间的大小,将浮点型分为了float、double、decimal等类型。而在Python当中只…

    2022年 11月 20日
    00
  • 给Python list列表添加元素

    Python给list列表添加元素的函数有:append()、extend()、insert()。其中append()和extend()在list列表末尾追加元素,insert()在list列表任意位置插入元素。以下是三者的具体区别:

    2023年 1月 20日
    00

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注