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 # 深拷贝完全开辟出新的空间, 内容全部复制出来, 修改内容不影响复制引用变量内容。

 

 

 

 

转载于:https://www.cnblogs.com/noah227/p/11407992.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值