Python 字典(Dictionary) 您所在的位置:网站首页 字典的创建方法是什么意思 Python 字典(Dictionary)

Python 字典(Dictionary)

2024-07-09 19:37| 来源: 网络整理| 查看: 265

Python 文件I/OPython 集合(Set) Python 字典(Dictionary)

在本文中,您将学习关于Python dictionary的所有内容;如何创建、访问、添加和删除元素,以及各种内置方法。

Python中的字典是什么?

Python字典是一个无序的项集合。其他复合数据类型只有值作为元素,而字典有一个键:值对(key:value)。

字典被优化以在键已知时检索值。

如何创建字典?

创建字典就像将项目放在用逗号分隔的大括号{}中一样简单。

一个项目具有一个键和对应的值,表示为一对,键:值。

尽管值可以是任何数据类型并且可以重复,但是键必须是不可变的类型(具有不可变元素的字符串,数字或元组)并且必须是唯一的。

# 空字典 my_dict = {} # 带有整数键的字典 my_dict = {1: 'apple', 2: 'ball'} # 混合键字典 my_dict = {'name': 'John', 1: [2, 4, 3]} # 使用 dict() my_dict = dict({1:'apple', 2:'ball'}) # 将每个项作为一对的序列 my_dict = dict([(1,'apple'), (2,'ball')])

如您在上面看到的,我们还可以使用内置函数dict()创建字典。

如何从字典中访问元素?

虽然索引与其他容器类型一起使用来访问值,但是字典使用键。键可以在方括号内或与get()方法一起使用。

使用get()的区别在于,如果没有找到密钥,它将返回None,而不是KeyError。

运行该程序时,输出为:

Jack 26如何更改或添加字典中的元素?

字典是可变的。我们可以使用赋值运算符添加新项目或更改现有项目的值。

如果键已经存在,则值将更新,否则将新键:值对添加到字典中。

运行该程序时,输出为:

{'name': 'Jack', 'age': 27} {'name': 'Jack', 'age': 27, 'address': 'Downtown'}如何从字典中删除或删除元素?

我们可以使用pop()方法删除字典中的特定项目。此方法使用提供的键作为项移除,并返回值。

方法popitem()可用于从字典中删除并返回任意项(键,值)。使用clear()方法可以一次删除所有项目。

我们还可以使用del关键字删除单个项目或整个字典本身。

运行该程序时,输出为:

16 {1: 1, 2: 4, 3: 9, 5: 25} (1, 1) {2: 4, 3: 9, 5: 25} {2: 4, 3: 9} {}Python字典方法

以下列出了词典可用的方法。在上面的示例中已经使用了其中一些。

Python字典方法方法描述clear()从字典中删除所有项目。copy()返回字典的浅表副本。fromkeys(seq[,v])用于创建一个新字典,以序列seq中元素做字典的键,v为字典所有键对应的初始值。get(key[,d])

返回键的值。 如果key不存在,则返回d(默认为None)。

items()返回可遍历的(键, 值) 元组数组。keys()返回字典中的所有的键。pop(key[,d])删除带键的项并返回其值,如果没有找到key,则返回d。如果没有提供d,并且没有找到key,则引发KeyError错误popitem()删除并返回任意项(键,值)。如果字典为空则引发KeyError。setdefault(key[,d])返回指定键的值,如果指定键的值不在字典中,返回指定值,默认为 None。update([other])使用来自other的键/值对更新字典,覆盖现有键。values()以列表形式返回字典中的所有值。

以下是使用这些方法的一些示例。

marks = {}.fromkeys(['Math','English','Science'], 0) # 输出: {'English': 0, 'Math': 0, 'Science': 0} print(marks) for item in marks.items():     print(item) # 输出: ['English', 'Math', 'Science'] list(sorted(marks.keys()))Python 字典理解

字典理解是从Python中的迭代器创建新字典的一种优雅简洁的方法。

字典理解包含一个表达式对(键:值),后跟花括号{}中的for语句。

这是制作字典的示例,其中每个项目都是一对数字及其平方。

squares = {x: x*x for x in range(6)} # 输出: {0: 0, 1: 1, 2: 4, 3: 9, 4: 16, 5: 25} print(squares)

此代码等效于

squares = {} for x in range(6):    squares[x] = x*x

字典理解可以选择包含更多for或if语句。

可选if语句可以过滤出项以形成新字典。

这是一些仅包含奇数项目的字典示例。

odd_squares = {x: x*x for x in range(11) if x%2 == 1} # 输出: {1: 1, 3: 9, 5: 25, 7: 49, 9: 81} print(odd_squares)

要了解更多信息,请访问Python字典理解。

其他词典操作字典成员资格测试

我们可以使用关键字来测试键是否在字典中in。请注意,成员资格测试仅适用于键,而不适用于值。

squares = {1: 1, 3: 9, 5: 25, 7: 49, 9: 81} # 输出: True print(1 in squares) # 输出: True print(2 not in squares) # 仅对键而不是值进行成员资格测试 # 输出: False print(49 in squares)遍历字典

使用for循环,我们可以遍历字典中的每个键。

squares = {1: 1, 3: 9, 5: 25, 7: 49, 9: 81} for i in squares:     print(squares[i])内置字典函数

内置函数如all()、any()、len()、cmp()、sort()等通常与dictionary一起用于执行不同的任务。

内置字典函数功能描述all()

如果字典的所有键都为true(或者字典为空),则返回True。

any()

如果字典的任何键为true,则返回True。 如果字典为空,则返回False。

len()返回字典中的长度(项目数)。cmp()比较两个字典的项目。sorted()返回字典中新排序的键列表。

以下是一些使用内置函数来处理字典的示例。

squares = {1: 1, 3: 9, 5: 25, 7: 49, 9: 81} # 输出: 5 print(len(squares)) # 输出: [1, 3, 5, 7, 9] print(sorted(squares))Python 文件I/OPython 集合(Set)


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有