容器一 列表

列表list作为容器类型:主要的作用管理数据,管理数据的方式包含增加数据、删除数据、修改数据、查询数据

C的数据无法动态的扩容

    python可以随时的扩容

ls = [10,3,5,6,7,4,1,2]

一、列表list中都包含了哪些操作函数

1、增 有三种

第①种: append 在列表尾部添加新元素

ls.append(11)

print(ls)

第②种:insert(序号,数据)插入新元素到指定位置

ls.insert(0,100)

print(ls)

第③种:extend 将参数列表中的元素扩充到ls中

ls1 = [1,2,2]

ls.extend(ls1)

print(ls)

2、 删  有三种

第①种:remove 根据元素的值删除元素

ls.remove(10)

print(ls)

第②种:pop 根据序号删除元素,如果序号缺省,默认删除最后一个元素

ls.pop()

print(ls)

第③种:clear 清空列表的内容

ls.clear()

print(ls)

3、 改

ls[4] = 500

print(ls)

4、查

print(ls[1])

负数是从右到左元素序号

print(ls[-3])

5、 排序(从小到大排序)

ls.sort()

print(ls)

逆序(不分大小从右边开始依次往前排)按序排需先执行ls.sort()

ls.reverse()

print(ls)

6、查找 :返回元素的序号,如果元素不存在,抛出异常。

num = ls.index(5)

print(num)

7、 统计某元素出现次数num = ls.count(10)  print(num)

8、第①种:

copy 他是浅拷贝

列表中的每一个元素本质上 是数据所在的内存地址 而非数据本身

所以浅拷贝 拷贝出来的 新数组 每一个元素 也是原数组内存地址

ls1 = [1,2,3,[11,22,33]]

ls2 = ls1.copy()

ls1[3][0] = 1000

print(ls1) # [1,2,3,[1000,22,33]]

print(ls2) # [1,2,3,[1000,22,33]]

第②种:

深拷贝:从头到尾完整将整个数组复制一份

ls1 = [1,2,3,[11,22,33]]

ls3 = copy.deepcopy(ls1)

ls1[3][0] = 1000

print(ls1) # [1,2,3,[1000,22,33]]

print(ls3) # [1,2,3,[11,22,33]]

尽量使用浅拷贝,如果修改了数据对副本有影响(影响后续运算),使用深拷贝。

二、切片技术

所谓切片就是将序列(list,str,tuple)中指定的子序列提取出来

ls = [0,1,2,3,4,5,6,7,8,9]

[-10,-9,-8,-7,-6,-5,-4,-3,-2,-1] tuple 负数时序号

ls1 = ls[3:6]

ls1 = ls[3:6:2]

print(ls1)

如果缺省step,step默认值是1

当step是 正数 时,缺省的start就是 左端点,缺省的end就是 右端点

当step是 负数 时,缺省的start就是 右端点,缺省的end就是 左端点

简而言之 step为正时 从左到右切 为负时 从右往左切

ls1 = ls[::-1]

print(ls1)

ls1 = ls[:3:-1]

print(ls1)

ls1 = ls[-2:3:-1]

print(ls1)

ls1 = ls[3:][:3]

print(ls1)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值