第三周的遗漏

第三周学习补充


一、切片操作

[start:stop:step]为切片操作
第一个数字表示切片开始位置(默认为0)
第二个数字表示切片截至位置但截至该位置不包含在切片中(默认为列表长度)
第三个数字表示切片步长(默认为1)

切片操作可用来:

  • 截取列表中的任何部分,得到一个新列表
  • 修改和删除列表中的部分元素
  • 作为列表对象增加元素

切片操作不影响列表对象在内存中的起始地址

二、浅拷贝与深拷贝

1.浅拷贝

浅拷贝是指生成一个新的列表,并且把原列表中所有元素的引用都复制到新列表中

  • 内存地址不同
  • 不是同一对象但列表元素完全相同
  • 不可变数据类型
    在这里插入图片描述在这里插入图片描述
    在这里插入图片描述

2.深拷贝

在这里插入图片描述

三、列表排序

  • 使用列表对象的sort()方法可以进行原地排序,没有返回值(返回空值None)

aList = [3, 4, 5, 6, 7,9,11, 13, 15, 17]
import random
random.shuffle(aList)
print(aList)#[3, 4, 15, 11, 9, 17, 13, 6, 7, 5]打乱顺序
aList.sort() #默认是升序排序
aList.sort(reverse = True)#降序排序
print(aList)#[17, 15, 13, 11, 9, 7, 6, 5, 4, 3]
aList.sort(key = lambda x:len(str(x)))#按转换成字符串的长度排序
print(aList)#[9, 7, 6, 5, 4, 3, 17, 15, 13, 11]

  • 使用内置函数sorted()方法对列表进行排序,该内置函数返回新列表并不对原列表进行任何修改

print(aList)#[9, 7, 6, 5, 4, 3, 17, 15, 13, 11]
print(sorted(aList))#升序排序[3, 4, 5, 6, 7, 9, 11, 13, 15, 17]
print(sorted(aList,reverse = True))#降序排序[17, 15, 13, 11, 9, 7, 6, 5, 4, 3]

  • 使用列表对象的reverse()方法将所有元素原地逆序(前后交换,首尾交换)

print(aList)#[9, 7, 6, 5, 4, 3, 17, 15, 13, 11]
print(sorted(aList))#升序排序[3, 4, 5, 6, 7, 9, 11, 13, 15, 17]
print(sorted(aList,reverse = True))#降序排序[17, 15, 13, 11, 9, 7, 6, 5, 4, 3]

四、用于序列操作的常用内置函数

  • len(列表)返回列表中的元素个数(也同样适用于元组、字典、集合、字符串等)
  • max(列表)、min(列表):返回列表中的最大或最小元素,同样适用于元组、字典、集合、range对象等
  • sun(列表):对列表的元素进行求和运算,对非数值型列表运算需要指定start参数,同样适用于元组、range
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值