Python 列表

List是python中基础的顺序数据结构

本文内容: python列表 | 深浅拷贝

以下为python3代码 

创建:

1 li = [1, 2, 3, 4, 5]

增加

 1 # 在列表尾部加入
 2 append(object) 
 3 li.append(7)
 4 print(li)
 5 # [1, 2, 3, 4, 5, 7]
 6 
 7 # 指定位置插入数据
 8 insert(index, object)
 9 li.insert(5, 6)
10 # [1, 2, 3, 4, 5, 6, 7]
11 
12 # 加入新的列表
13 extend(object)
14 li2 = ["hi dude!"]
15 li.append(li2)
16 print(li)
17 # [1, 2, 3, 4, 5, 6, 7, "hi dude!"]
18 # python列表为引用型数据

删除

 1 li = [1, 2, 3, 4, 3, 5]
 2 # remove()    移除某一项, 无返回值
 3 li.remove(3)
 4 print(li)
 5 li = [1, 2, 4, 3, 5]
 6 
 7 # pop(index)    默认删除最后一个数据并返回其值
 8 ret = li.pop()
 9 print(ret)
10 # 5

修改数据

1 li = [1, 2, 3, 4, 5]
2 li[1] = "new data"
3 print(li)
4 # [1, "new data", 3, 4, 5]

查询操作

  列表是顺序的连续存储的数据,可通过index访问,也可进行切片操作

  通过索引取值

1 li = [1, 2, 3, 4, 5]
2 print(li[0])
3 # 1
4 print(li[-1])
5 # 5

  切片

1 li[start:end:step]
2 print(li[1: 3])
3 # [2, 3]
4 print(li[3:])
5 # [4, 5]
6 print(li[:-2])
7 # [1, 2, 3]

  取索引

1 li = [1, 2, 3, 4, 3, 5]
2 print(li.index(3))
3 # 2

排序操作 

  排序

1 # sort()    列表中要同类型数据
2 li = [1, 2, 3, 4, 3, 5]
3 li.sort()
4 print(li)
5 # [1, 2, 3, 3, 4, 5]

  逆序

1 # reverse()    无返回值,逆序
2 li = [1, 2, 3, 4]
3 li.reverse()
4 print(li)
5 # [4, 3, 2, 1]

 有关深浅拷贝

浅拷贝

1 li = [1, 2, 3, 4, 5, [0, 10]]
2 li2 = li.copy()
3 li2[0] = 100
4 li2[5][0] = 10
5 print(li)
6 print(li2)
7 # [1, 2, 3, 4, 5, [10, 10]]
8 # [100, 2, 3, 4, 5, [10, 10]]
9 # 浅拷贝只复制第一层, 深层的依旧是共同地址指向的数据。

深拷贝

 1 # 导入copy模块
 2 import copy
 3 li = [1, 2, 3, 4, 5, [0, 10]]
 4 li2 = copy.deepcopy(li)
 5 li2[0] = 100
 6 li2[5][0] = 10
 7 print(li)
 8 print(li2)
 9 # [1, 2, 3, 4, 5, [0, 10]]
10 # [100, 2, 3, 4, 5, [10, 10]]
11 # 深拷贝完全开辟出新的空间, 内容全部复制出来, 修改内容不影响复制引用变量内容。

 

 

 

 

posted @ 2019-08-25 15:13  彼时今日  阅读(259)  评论(0编辑  收藏  举报