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

yizhihongxing

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实现数据库中数据的分组统计的完整攻略。 数据库中数据的分组统计简介 在数据库中,数据的分组统计是指将数据按照某个字段进行分组,并每个分进行统计。在Python中可以使用pymysql库实现数据库中数据的分组统计。 步骤1:连接到数据库 在Python中,使用pym库连接到MySQL数据库。以下是连接到MySQL数据库的基本语法: imp…

    python 2023年5月12日
    00
  • 利用python爬取有道词典的方法

    下面是利用Python爬取有道词典的完整攻略: 1. 安装必要的库 首先,我们需要安装两个必要的Python库:requests和Beautiful Soup 4。打开终端或命令行界面,输入以下命令: pip install requests pip install beautifulsoup4 2. 网页分析 在正式编写爬虫之前,我们需要先分析一下有道词典…

    python 2023年5月13日
    00
  • Python批量处理工作簿和工作表的实现示例

    下面我会详细讲解一下“Python批量处理工作簿和工作表的实现示例”的完整实例教程。 1. 环境设置 首先,需要安装openpyxl库和pandas库。可以使用pip命令进行安装。 !pip install openpyxl !pip install pandas 2. 批量处理工作表 我们可以使用openpyxl库中的load_workbook()方法来读…

    python 2023年5月13日
    00
  • python远程连接MySQL数据库

    Python是一种广泛使用的编程语言,同时,MySQL是一种广泛使用的关系型数据库,Python远程连接MySQL是实现数据处理和分析的非常有用的技能。 下面是“Python远程连接MySQL数据库”的完整攻略,包括安装必要的库、连接MySQL、数据库的查询、插入和更新,还包括两个示例说明。 1. 安装必要的库 在Python中连接MySQL需要安装以下两个…

    python 2023年6月2日
    00
  • 如果有 2 个条件,则计算 – Python

    【问题标题】:Count if with 2 conditions – Python如果有 2 个条件,则计算 – Python 【发布时间】:2023-04-05 11:39:01 【问题描述】: 我在解决这个问题时遇到了一些问题,所以我来这里寻求您的帮助。 我有一个包含许多列的数据框,我想计算特定列的多少单元格满足另一列的条件。在 Excel 中,这将是…

    Python开发 2023年4月5日
    00
  • python网络爬虫 CrawlSpider使用详解

    Python网络爬虫CrawlSpider使用详解 随着互联网的发展,越来越多的网站提供了大量的数据和信息。这些数据对于很多人来说都是非常有价值的,但是手动抓取这些数据是非常繁琐和耗时的。因此,自动化的网络爬虫成为了非常重要的一项技术。 在Python中,有很多网络爬虫的库和框架可以用来实现自动化的数据抓取和解析。其中,Scrapy框架就是非常流行的一个Py…

    python 2023年5月14日
    00
  • Spring事件监听器之@EventListener原理分析

    下面我将详细讲解“Spring事件监听器之@EventListener原理分析”的完整攻略。 一、事件驱动模型 在讲解Spring的@EventListener原理之前,我们需要先掌握事件驱动模型的基本概念。 事件驱动模型是一种异步编程模型,通过在应用程序中抛出事件,以处理异步任务或响应用户输入。事件处理器通过监听事件并相应地响应事件来处理任务。事件和事件处…

    python 2023年6月13日
    00
  • windows下安装Python的XlsxWriter模块方法

    下面是”windows下安装Python的XlsxWriter模块方法”的完整实例教程: 确定Python版本 在安装XlsxWriter之前,需要先确定Python版本。可以打开命令行,输入以下代码查看Python版本: python –version 如果Python版本是2.x,就需要安装XlsxWriter的1.x版本;如果Python版本是3.x…

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