列表的赋值与复制

一、python是面向对象的编程语言

    python里的数据、大型数据结构、函数以及程序都是以对象(object)的形式存在的。对象就像一个盒子,里面装的是数据,也有人说我们电脑的内存就像一个大厦,大厦里的每个房间都可以存储对象,而这些对象的引用方式就是房间的门牌号。

列表的赋值与复制_第1张图片

二、赋值的本质

赋值的操作其实相当于给盒子贴上标签。这个盒子就相当于我们内存中的一块地址。下面我们来看一下下面这段代码的含义:

a = [2,3,5,8,9,0]
b = a

第一行:电脑开辟了一个盒子(内存),存储[2,3,5,8,9,0]这个列表,并且为这个盒子贴上了a这个标签。

列表的赋值与复制_第2张图片

第二行:将a赋值给b,相当于为盒子贴上了第二个标签b。其实,a和b指向的是同一块内存,所以当改变其中一个值时,另一个值也随着改变,因为他们指向的同一块内存中的存储对象已经改变。

列表的赋值与复制_第3张图片

列表的赋值与复制_第4张图片

三、列表的复制方法

将一个列表的值复制到另一个列表中有三种方法:

1.列表copy()函数

2.list()转换函数

3.列表分片[:]

a = [1,2,3]

b = a.copy()

c = list(a)

d = a[:]

这三种方法创建的b ,c ,d 都是自身带有值的新对象,改变a 的值不影响b ,c ,d 的复制。

你可能感兴趣的:(列表的赋值与复制)