Python07——list03列表切片,深浅复制

slice切片操作

适用于列表,元组,字符串的切片操作
格式:[start🔚step] 步长省略是默认第二个字符串不写

1. 典型操作 三个数为正数

a = [23, 45, 67, 76, "hello,", "python"][2:4]
print(a)  # [67, 76]
b = [0, 1, 2, 3, 4, 5, 6]
print(b[:])  # 截取全部
print(b[:3])  # 默认从0开始
print(b[2:])  # 默认end-1结束
print(b[2:6:2])

2. 三个数为负数

print(b[-3:])  # 倒数后三个数
print(b[:-2])  # [0, 1, 2, 3, 4]
print(b[-4:-1])  # [3, 4, 5]
print(b[::-1])  # [6, 5, 4, 3, 2, 1, 0] 倒序
print(b[-4::2])  # [3, 5]
# 注意:切片操作的时候,start和end不在[0,len()-1]时,也
# 不会报错。start小于0时,则会被当作0,end大于len()-1时,会被当成-1

列表的遍历

for x in b:
        print(x, end="")
print()

浅复制

# 复制列表所有元素到新的列表对象  不同的对象,相同的值
list1 = list("姓名:魏浩如 学校:苏州科技大学")
list2 = list1
print(id(list1) == id(list2))  # True 说明是同一个对象
# 一旦list1改变,list2也会改变
# 浅层复制  只能copy一层
list2 = list(list1)  # 工厂函数
list2 = list1[:]    # slice 复制列表所有元素
import copy   # 不规范 写在开头
list2 = copy.copy(list1)
list2 = list1.copy()

深层复制

list3 = [["你好"], "hello"]
list4 = copy.deepcopy(list3)
list3[0][0] = "您"
print(list3)  # [['您'], 'hello']
print(list4)  # [['你好'], 'hello']
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

芝麻汤圆圆圆子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值