python dict 字典 以及 赋值 引用的一些实例(详解)

pythondict字典以及赋值引用的一些实例(详解)

什么是字典

在Python中,字典(dictionary)是一种无序的键值对(key-value)集合。字典由花括号{}包裹,键值对之间用冒号:分隔,每个键值对之间用逗号,分隔,如下所示:

d = {'apple': 1, 'banana': 2, 'orange': 3}

上面的代码创建了一个字典,其键值对为'apple': 1, 'banana': 2, 'orange': 3。

另外,字典中的键必须是不可变类型(比如字符串、数字、元组等),而值可以是任意类型(包括列表、字典等)。

字典的基本操作

访问字典中的值

可以通过键(key)来访问字典中的值(value),如下所示:

d = {'apple': 1, 'banana': 2, 'orange': 3}
print(d['banana'])  # 输出2

添加或修改键值对

可以通过索引或update()方法来添加或修改字典中的键值对,如下所示:

# 添加键值对
d = {'apple': 1, 'banana': 2, 'orange': 3}
d['pear'] = 4
print(d)  # 输出 {'apple': 1, 'banana': 2, 'orange': 3, 'pear': 4}

# 修改键值对
d = {'apple': 1, 'banana': 2, 'orange': 3}
d['banana'] = 5
print(d)  # 输出 {'apple': 1, 'banana': 5, 'orange': 3}

删除键值对

可以使用del语句或pop()方法来删除字典中的键值对,如下所示:

# 删除键值对
d = {'apple': 1, 'banana': 2, 'orange': 3}
del d['banana']
print(d)  # 输出 {'apple': 1, 'orange': 3}

# 删除最后一个键值对
d = {'apple': 1, 'banana': 2, 'orange': 3}
d.popitem()
print(d)  # 输出 {'apple': 1, 'banana': 2}

赋值引用

在Python中,变量之间的赋值实际上是将一个对象的引用(内存地址)赋值给另一个变量。当两个变量引用同一个对象时,它们对该对象的操作会相互影响。

下面来看一个示例,演示了赋值引用的过程:

a = [1, 2, 3]
b = a
b.append(4)
print(a)  # 输出 [1, 2, 3, 4]

在上面的代码中,将列表a的引用赋值给变量b,然后给b添加元素4,最终输出a的值为[1, 2, 3, 4]。

下面再来一个例子,演示了赋值引用的深度复制问题:

a = [1, 2, [3, 4]]
b = a
c = a.copy()
b[2][0] = 5
print(a)  # 输出 [1, 2, [5, 4]]
print(b)  # 输出 [1, 2, [5, 4]]
print(c)  # 输出 [1, 2, [5, 4]]

在上面的代码中,将列表a的引用赋值给变量b,然后通过copy()方法将a的副本赋值给变量c。然后修改b中的第三个元素的第一个元素为5,结果发现a、b、c的值都发生了改变。这是因为a、b、c的第三个元素其实是同一个对象的引用,所以一个变量对它的修改会影响所有引用它的变量。

总结

字典是Python中常用的数据类型之一,其具有灵活的键值对存储方式。同时,Python中的变量之间复制实际上是引用复制,对同一个对象的多个引用会相互影响,需要谨慎使用。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python dict 字典 以及 赋值 引用的一些实例(详解) - Python技术站

(0)
上一篇 2023年5月13日
下一篇 2023年5月13日

相关文章

  • Python轮播图与导航栏功能的实现流程全讲解

    针对“Python轮播图与导航栏功能的实现流程全讲解”的完整攻略,下面是详细的讲解,包含以下内容: 1. 实现轮播图 要实现轮播图,需要以下步骤: 1.1 编写 HTML 代码 HTML 代码应该包含轮播图的容器和轮播图的图片,比如: <div class="carousel"> <img src="img1.…

    python 2023年6月3日
    00
  • Python实现简单层次聚类算法以及可视化

    Python实现简单层次聚类算法以及可视化 层次聚类是一种常用的聚类算法,它可以将数据集分成不同的层结构。本文中,我们将介绍如何使用Python实现简单层次聚类法以及可视化。我们将分为以下几个步骤: 加载数据集 数据预处理 定义层次聚类法 可视化聚类结果 示例说明 步骤1:加载数据集 在实现层次聚类算法之前,需要加载数据集。在这个例子中,我们将使用Iris数…

    python 2023年5月14日
    00
  • python urllib中的编码处理示例

    请看下文详细讲解“Python urllib中的编码处理示例”的完整攻略。 Python urllib中的编码处理示例 什么是编码? 编码就是将一种形式的数据转换为另一种形式。在计算机中,将人类可读的字符转换为计算机可读的二进制数值的过程称为编码。在网络传输中,需要使用一些特定的编码方式,比如UTF-8、GBK、GBK 2312等。 为什么需要编码? 在网络…

    python 2023年5月31日
    00
  • python实现k均值算法示例(k均值聚类算法)

    下面是详细讲解“Python实现K均值算法示例(K均值聚类算法)”的完整攻略,包含两个示例说明。 K均值算法简介 K均值算法是一种基于距离的聚类算法,它的基本思想是将数据分成K个簇,使得同一簇内的数据距离尽可能小,不同簇之间的数据距离尽可能大。K均值算法的优点是简单易用,适用于大模数据,但是需要预先指定簇的数量K。 Python实现K均值算法 下面是Pyth…

    python 2023年5月14日
    00
  • Python实现求两个csv文件交集的方法

    下面是Python实现求两个csv文件交集的完整攻略。 准备工作 在开始写代码之前,我们需要做一些准备工作。首先,我们需要导入Python的csv模块,它能够很容易地读取和处理csv文件。其次,我们需要安装pandas这个强大的数据分析库,它提供了大量用于数据处理和分析的工具。我们可以使用pip命令进行安装: pip install pandas 操作步骤 …

    python 2023年5月14日
    00
  • python持久化存储文件操作方法

    下面是关于Python持久化存储文件操作方法的完整攻略: 1. 什么是Python持久化存储? Python持久化存储是指将Python程序中的数据(如变量、对象、数据结构等)保存到本地磁盘或其它外部存储设备,以便下次程序运行时能够重新读取这些数据。这可以方便用户保存或共享程序中的数据,也可以加快程序运行速度。 在Python中,常用的持久化存储方法包括:文…

    python 2023年6月2日
    00
  • python中time包实例详解

    Python中time包实例详解 本文将详细介绍Python中time包的使用方法和实例应用。 time包的导入方法 在使用time包之前,首先需要导入它。可以使用以下代码来导入: import time 获取当前时间 获取当前时间可以使用time模块下的time()函数。time()函数返回一个从1970年1月1日零时起的秒数。 import time t…

    python 2023年6月2日
    00
  • Python从单元素字典中获取key和value的实例

    使用Python从单元素字典中获取key和value的实例,可以通过字典中的内置方法items()来实现。下面是详细的攻略。 步骤 定义一个单元素字典,例如{“key”: “value”}。 通过使用内置方法items(),获取字典中的键值对元组。 通过索引1获取字典中的值value,索引0获取字典中的键key。 下面是示例代码: # 示例1:获取单元素字典…

    python 2023年5月13日
    00
合作推广
合作推广
分享本页
返回顶部