码迷,mamicode.com
首页 > 编程语言 > 详细

python学习(7)关于列表操作相关命令以及浅复制深复制

时间:2018-03-14 15:52:15      阅读:163      评论:0      收藏:0      [点我收藏+]

标签:div   输出   表操作   深复制   body   [1]   copy   append   相关   

在python中,[]表示的是列表。列表有各种操作命令。

1、append()方法,添加一个元素到列表尾部。

注意append()方法与extend()方法有区别:list.append(object) 向列表中添加一个对象object而list.extend(sequence) 把一个序列seq的内容添加到列表中

 

例如:

 1 names=["hongtao","xiaoweihong","hongyuchan",["show530","luby"],"hongpingshui","guochaoxi"]
 2 names2=["liuyi","zhangsong"]
 3 
 4 names.extend(names2)
 5 print(names)
 6 
 7 >>>>>>>
 8 [hongtao, xiaoweihong, hongyuchan, [show530, luby], hongpingshui, guochaoxi, liuyi, zhangsong]
 9 ___________________________________________________
10 
11 names=["hongtao","xiaoweihong","hongyuchan",["show530","luby"],"hongpingshui","guochaoxi"]
12 names2=["liuyi","zhangsong"]
13 
14 names.append(names2)
15 print(names)
16 
17 >>>>>>>>>
18 [hongtao, xiaoweihong, hongyuchan, [show530, luby], hongpingshui, guochaoxi, [liuyi, zhangsong]]

 

2、关于 remove(),pop(),以及del列表操作的相同点和不同点:

(1)remove 是删除首个符合条件的元素。并不是删除特定的索引。

1 >>> a = [0, 2, 2, 3]

2 >>> a.remove(2)

3 >>> a

4 [0, 2, 3] 

(2)对于 del 来说,它是根据索引(元素所在位置)来删除的。

1 >>> a = [3, 2, 2, 1]

2 >>> del a[1]

3 [3, 2, 1]  

(3)pop返回的是你弹出的那个数值。

1 >>> a = [4, 3, 5]

2 >>> a.pop(1)

3 3

4 >>> a

5 [4, 5] 

 

3、关于深度COPY和浅度COPY的区别:

简单地说,深度COPY就是把A列表简单的复制一份,跟A列表一模一样。而浅度COPY复制的时候遭遇到列表中包含列表的情况的话,他只复制内存地址。

例如以下代码:

 1 import copy
 2 names=["hongtao","xiaoweihong","hongyuchan",["show530","luby"],"hongpingshui","guochaoxi"]
 3 names2=copy.copy(names)
 4 names[3][0]="SHOW530"
 5 names[3][1]="LUBY"
 6 print(names2)
 7 
 8 输出结果>>>>>>>
 9 
10 [hongtao, xiaoweihong, hongyuchan, [SHOW530, LUBY], hongpingshui, guochaoxi]
11 
12 
13 import copy
14 names=["hongtao","xiaoweihong","hongyuchan",["show530","luby"],"hongpingshui","guochaoxi"]
15 names2=copy.deepcopy(names)
16 names[3][0]="SHOW530"
17 names[3][1]="LUBY"
18 print(names2)
19 
20 输出结果>>>>>>>
21 
22 [hongtao, xiaoweihong, hongyuchan, [show530, luby], hongpingshui, guochaoxi]

 

4、关于列表中元素的位置表示方法及间隔

names[0:-1] 表示从列表names中第一个元素到最后一个元素;

names[0:-1:2] 表示从列表names中第一个元素到最后一个元素,步长为2,每个元素间隔1

names[0:-1:2]有时也会简写成names[::2]如果步长是1,那么可以简写为names[:]

 

python学习(7)关于列表操作相关命令以及浅复制深复制

标签:div   输出   表操作   深复制   body   [1]   copy   append   相关   

原文地址:https://www.cnblogs.com/show530/p/8567932.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!