我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Python List的赋值方法是什么

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Python List的赋值方法是什么

这篇“Python List的赋值方法是什么”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Python List的赋值方法是什么”文章吧。

Python中关于对象复制有三种类型的使用方式,赋值、浅拷贝与深拷贝。他们既有区别又有联系,刚好最近碰到这一类的问题,研究下。

一、赋值

在python中,对象的赋值就是简单的对象引用,这点和C++不同。如下:

这种情况下,b和a是一样的,他们指向同一片内存,b不过是a的别名,是引用。我们可以使用a与b是否相同来判断,返回True,表明他们地址相同,内容相同。

赋值操作(包括对象作为参数、返回值)不会开辟新的内存空间,它只是复制了新对象的引用。也就是说,除了b这个名字以外,没有其它的内存开销。

修改了a,就影响了b;同理,修改了b就影响了a。

二、浅拷贝(shallow copy)

浅拷贝会创建新对象,其内容是原对象的引用。

浅拷贝有三种形式:切片操作,工厂函数,copy模块中的copy函数。比如对上述a:

1、切片操作:b = a[:] 或者 b = [each for each in a]

2、工厂函数:b = list(a)

3、copy函数:b = copy.copy(a)

浅拷贝产生的b不再是a了,使用is可以发现他们不是同一个对象,使用id查看,发现它们也不指向同一片内存。但是当我们使用 id(x) for x in a 和 id(x) for x in b 时,可以看到二者包含的元素的地址是相同的。

在这种情况下,a和b是不同的对象,修改b理论上不会影响a。比如b.append([4,5])。

但是要注意,浅拷贝之所以称为浅拷贝,是它仅仅只拷贝了一层,在a中有一个嵌套的list,如果我们修改了它,情况就不一样了。

a[4].append(“C”)。查看b,你将发现b也发生了变化。这是因为,你修改了嵌套的list。修改外层元素,会修改它的引用,让它们指向别的位置,修改嵌套列表中的元素,列表的地址并为发生变化,指向的都是同一个位置。

三、深拷贝(deep copy)

深拷贝只有一种形式,copy模块中的deepcopy函数。

和浅拷贝对应,深拷贝拷贝了对象的所有元素,包括多层嵌套的元素。因而,它的时间和空间开销要高。

同样对la,若使用b = copy.deepcopy(a),再修改b将不会影响到a了。即使嵌套的列表具有更深的层次,也不会产生任何影响,因为深拷贝出来的对象根本就是一个全新的对象,不再与原来的对象有任何关联。

四、关于拷贝操作的警告

1、对于非容器类型,如数字,字符,以及其它“原子”类型,没有拷贝一说。产生的都是原对象的引用。

2、如果元组变量值包含原子类型对象,即使采用了深拷贝,也只能得到浅拷贝。

以上就是关于“Python List的赋值方法是什么”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注编程网行业资讯频道。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Python List的赋值方法是什么

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Python List的赋值方法

Python中关于对象复制有三种类型的使用方式,赋值、浅拷贝与深拷贝。他们既有区别又有联系,刚好最近碰到这一类的问题,研究下。一、赋值        在python中,对象的赋值就是简单的对象引用,这点和C++不同。如下:        a
2023-01-31

python连续赋值的方法是什么

Python中的连续赋值是一种将多个变量分别赋予相同或不同的值的方法。方法1:使用逗号分隔变量```pythona, b, c = 1, 2, 3```方法2:使用列表或元组进行赋值```pythona, b, c = [1, 2, 3]a
2023-09-28

python字典赋值的方法是什么

Python中的字典是一种无序的键值对集合,每个键值对之间用逗号分隔,整个字典用花括号{}括起来表示。字典中的键必须是唯一的,而值可以重复。字典的赋值操作可以通过两种方式实现:1、直接赋值法使用花括号{}创建一个字典,然后将其赋值给变量。`
2023-05-13

Python变量与赋值的方法是什么

本篇内容介绍了“Python变量与赋值的方法是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Python是一门独特的语言,与C语言有很大
2023-06-02

python多维数组赋值的方法是什么

在Python中,多维数组可以使用列表的列表来表示。例如,一个二维数组可以使用列表的列表表示,一个三维数组可以使用列表的列表的列表来表示,依此类推。要对多维数组赋值,可以使用下标来访问元素并进行赋值。例如,对于一个二维数组,可以使用两个下
python多维数组赋值的方法是什么
2024-03-15

python输入数字赋值的方法是什么

Python中可以使用input函数来获取用户输入的数字,并将其赋值给变量。input函数会将用户输入的内容作为字符串返回,如果需要将其转换为数字,则需要使用int()或float()函数进行转换。下面是一个示例:```num = inpu
2023-09-17

python新增一列并赋值的方法是什么

在Python中,可以通过以下几种方式新增一列并赋值:1. 使用字典赋值:如果已经有一个字典或者DataFrame,可以直接通过字典的方式新增一列,并赋予相应的值。例如:pythondf = {'column1': [1, 2, 3, 4]
2023-10-18

python定义变量不赋值的方法是什么

在Python中定义变量但不赋值,可以使用None关键字来表示一个空值。例如:```x = None```这样定义的变量x没有具体的值,它只是一个空值的占位符。
2023-10-10

java给list赋值的方法有哪些

Java 给 List 赋值的方法有以下几种:1. 使用 add() 方法逐个添加元素:```javaList list = new ArrayList();list.add(1);list.add(2);list.add(3);```2.
2023-08-29

oracle中float赋值的方法是什么

在Oracle中,可以使用以下方式给FLOAT类型的变量赋值:DECLAREfloat_variable FLOAT := 3.14;BEGINDBMS_OUTPUT.PUT_LINE(float_variable);END;在上面的
oracle中float赋值的方法是什么
2024-04-09

SQL变量赋值的方法是什么

在SQL中,可以使用SET语句来给变量赋值。语法如下:SET @variable_name = value;例如,要给一个名为@count的变量赋值为10,可以这样做:SET @count = 10;然后可以在SQL语句中使用这个变量,
SQL变量赋值的方法是什么
2024-04-09

c#中radiobutton赋值的方法是什么

在C#中,通过编程方式给RadioButton赋值可以使用RadioButton的Checked属性。例如,可以通过设置RadioButton的Checked属性来确定RadioButton是否被选中,从而实现给RadioButton赋值的
c#中radiobutton赋值的方法是什么
2024-03-14

php变量赋值的方法是什么

在PHP中,变量可以通过简单的赋值操作来进行赋值。赋值操作使用等号(=)进行,将右边的值赋给左边的变量。例如,要将值"Hello World"赋给一个变量$greeting,可以使用以下代码:$greeting = "Hello World
2023-08-29

php给input赋值的方法是什么

在PHP中,给input赋值有多种方法,取决于你是在服务器端还是在客户端进行操作。1. 在服务器端给input赋值:你可以使用PHP的超全局变量`$_POST`或`$_GET`来获取表单提交的数据,并将其赋值给input元素。例子:假设你有
2023-09-27

eclipse变量赋值的方法是什么

在Eclipse中,变量可以通过直接赋值或者使用快捷键来进行赋值。以下是两种常用的方式:直接赋值:在代码编辑器中,将光标移动到要赋值的变量上,然后输入等号(=),再输入要赋给变量的值。例如:int x;x = 10;使用快捷键:在代码编辑
eclipse变量赋值的方法是什么
2024-03-13

mysql中varbinary赋值的方法是什么

在MySQL中,可以使用以下方法为varbinary类型的列赋值:使用HEX函数将字符串转换为十六进制表示,然后将其赋值给varbinary类型的列。例如:INSERT INTO table_name (varbinary_column)
mysql中varbinary赋值的方法是什么
2024-04-09

C#枚举赋值的方法是什么

这篇文章主要讲解了“C#枚举赋值的方法是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“C#枚举赋值的方法是什么”吧!Q:我留意到Code #02中的.field public stati
2023-06-18

python中变量声明和赋值的方法是什么

在Python中,变量的声明和赋值是同时进行的,可以使用以下方式进行变量声明和赋值:1. 直接赋值:通过使用等号(=)来将一个值赋给变量。例如:`x = 10`。2. 同时声明和赋值:可以在同一行中声明多个变量,并为它们赋予相应的值。例如:
2023-08-08

python同步赋值的互换变量方法是什么

Python中互换两个变量的值有多种方法,其中一种常见的方法是使用同步赋值方式。同步赋值可以同时给多个变量赋值,可以使用多个变量交换值。下面是使用同步赋值方式互换两个变量的值的方法:```a = 10b = 20a, b = b, apri
2023-09-06

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录