2021-04-07 第一阶段day5

本文详细介绍了Python编程中列表的创建、元素添加、索引定位、遍历及删除等基本操作,并探讨了深浅拷贝的概念,强调了它们在内存管理中的差异和应用场景。通过实例展示了如何进行列表的追加、插入、切片以及删除元素,同时讲解了遍历列表的两种方式。此外,还对比了浅拷贝和深拷贝在内存占用和数据安全性上的优缺点,帮助读者更好地理解和运用这两种拷贝机制。
摘要由CSDN通过智能技术生成

一、容器2——列表list

由一系列变量组成的可变序列容器
擅长存储一个类型的数据,即竖着存。

1、列表的创建

(1)语法1:列表名=[元素1,元素2]

list_name = ["抄录们","房间大哭","照耀"]

(2)语法2:列表名=list(可迭代对象)

此方法也可称之为类型转换

list01 = list("孙悟空")  # ['孙', '悟', '空']

2、元素添加

(1)追加:列表名.append(元素)

在列表后追加

list_name.append("sea")

(2)插入:列表名.insert(索引,元素)

在列表索引处添加

list_name.insert(0,"萨芬")

(3)内存图比较

在这里插入图片描述

3、索引定位

(1)读取 变量 = 列表名[索引号]

name = list_name[0] 

(2)修改 列表名[索引号] = “XXX”

list_name[-1] = "滔滔"

(3)切片 列表名[开始:结束:间隔]

print(list_name[:-2]) # 切片读取
list_name[-2:] = ["老谷","老赵"] # 切片修改

4、遍历

(1)正序遍历

  • for 变量 in 容器:
for i in list_name:
    print(i)
  • for 索引 in range():
for i in range(len(list_name)):
    print(list_name)

(2)倒序遍历

  • for 索引 in range() ********重要!!!!!!
for i in range(len(list_name)-1,-1,-1):
    print(list_name[i])
  • 切片
    这种方法会创建新容器,占内存,不推荐使用!
for i in list_name[::-1]:
    print(i)

5、删除

(1)根据元素:列表名.remove(元素)

list_name.remove(12)  # 如果元素不在会报错

(2)根据位置:del 列表名[索引/切片]

del list_name[0]
del list_name[:]  # 删除全部元素

(3)内存图比较

在这里插入图片描述

————————————————————————

二、深浅拷贝

拷贝:数据备份,防止一份数据意外改变
浅拷贝:备份第一层数据
           优点:占用内存较少
           缺点:没有办法保障深层数据不被修改
深拷贝:备份所有数据
           优点:绝对互不影响
           缺点:占用内存过多
适用性:
           优先使用浅拷贝
           当深层数据有可能被修改时,使用深拷贝

1、浅拷贝内存图

复制过程中,只复制第一层,第一层数据2份,深层数据1份
2份数据,互不影响
1份数据,互相影响
在这里插入图片描述
在这里插入图片描述

2、深拷贝内存图

复制全部层,所有数据2份
在这里插入图片描述

3、深浅交叉内存图

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值