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日

相关文章

  • springboot publish event 事件机制demo分享

    标题:SpringBoot事件机制的示例分享 简介 Spring框架是一个非常流行的Java框架,其提供了事件机制来处理应用程序中的各种操作,SpringBoot是Spring的一个子框架,继承了Spring框架的事件机制,使得事件的处理更加简单和高效。 SpringBoot事件机制简介 SpringBoot事件机制允许应用程序中的不同组件之间进行通信。核心…

    python 2023年6月13日
    00
  • 使用豆瓣源来安装python中的第三方库方法

    使用豆瓣源安装Python第三方库是一种常见的方式,它可以加快Python第三方库的安装速度。下面是使用豆瓣源来安装python中的第三方库方法的完整攻略。 1.安装pip工具 要使用豆瓣源安装Python第三方库,必须首先安装pip工具。pip是Python的默认包管理器,它可以方便的帮助我们安装、卸载、升级Python包。 1.1 Windows平台 在…

    python 2023年5月14日
    00
  • 一篇文章带你学习Python3的高级特性(2)

    针对“一篇文章带你学习Python3的高级特性(2)”,我可以给出以下完整的攻略。 文章简介 本文主要介绍Python3中一些高级特性,如函数式编程、迭代器和生成器等,帮助读者更深入地理解Python3的相关概念和技术。 函数式编程 函数式编程是指将函数作为一等公民,使用函数来处理数据的一种编程方式。Python中,支持函数式编程的关键在于lambda表达式…

    python 2023年6月3日
    00
  • Python FFT合成波形的实例

    我来详细讲解Python FFT合成波形的实例的完整攻略。 1. 背景介绍 FFT合成波形是指用已知的频谱数据(比如傅里叶变换之后的幅度和相位),来合成一个波形。这种技术的应用非常广泛,比如音频信号处理、图像处理等领域。在Python中,我们可以使用numpy库来进行FFT变换和波形合成。 2. 步骤说明 2.1 导入依赖库 首先,我们需要导入所需要的依赖库…

    python 2023年6月6日
    00
  • Python通过内置函数和自写算法DFS实现排列组合

    针对您提到的主题,我会给出详细的解释和两个示例。 什么是排列组合? 排列组合是数学中的一个分支,用于计算不同元素之间的排列方式和组合方式。在计算机中,排列组合有着广泛的应用,例如搜索引擎中的搜索结果排列、网络爬虫中的爬取页面顺序等方面。 在 Python 中,可以通过内置函数和自写算法 DFS 来实现排列组合的计算。 Python中的内置函数实现排列组合 P…

    python 2023年5月14日
    00
  • Python学习之列表和元组的使用详解

    Python学习之列表和元组的使用详解 在Python中,列表(list)和元组(tuple)是两种常用的数据结构,它们可以存储多个元素。本文将详细讲解列表和元组的使用方法,并给两个示例说明。 列表(list)的使用 定义列表 在Python中,可以使用方括号([])来定义一个列表。例如下面的代码定义了一个包含5个元素的列表: my_list = [1, 2…

    python 2023年5月13日
    00
  • 解决Python 异常TypeError: cannot concatenate ‘str’ and ‘int’ objects

    当我们在Python程序中使用”+”运算符连接字符串和整数时,有时候会遇到异常”TypeError: can’t concatenate ‘str’ and ‘int’ objects”,这是由于Python不能将字符串和整数进行直接连接。 下面提供两种常见方法来解决这个问题: 方法一:使用字符串格式化 我们可以使用字符串格式化操作,将整数强制转换为字符串类…

    python 2023年5月13日
    00
  • Python爬虫+tkinter界面实现历史天气查询的思路详解

    Python 爬虫 + tkinter 界面实现历史天气查询的思路详解 Python 爬虫和 tkinter 是两个常用的 Python 库,可以用于实现各种应用程序。以下是 Python 爬虫 + tkinter 界面实现历史天气查询的思路详解。 1. 爬取历史天气数据 首先,我们需要从网站上爬取历史天气数据。可以使用 Python 的 requests …

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