python容器1-列表

一, 什么是列表

(1)列表:Python中使用list关键字表示

        列表中可以存储多个、有顺序的、可以重复的、可以是不同类型的数据!

代码操作案例:

# 1. 列表:存储多个、有顺序的、可以重复的、不同类型的数据
ls1 = ["tom", 18, "male", 10.0, 30]

print(ls1)  # 展示列表中所有数据
print(ls1[2])  # 展示下标对应的数据
(2) 列表声明

声明空列表

# 2. 声明空列表
ls1 = []  # 推荐,语法简洁
ls2 = list()
print(ls1, ls2)

声明非空列表

# 声明非空列表
ls3 = ['jams', 'linus']  # 推荐,语法简洁
ls4 = list(['guido', 'danis'])
print(ls3, ls4)

常规情况下(99%+)直接使用lst = []声明列表即可!

二,列表操作函数

函数描述
append()列表的末尾追加一个数据
clear()清空列表
copy()复制列表
count()查询某个数据出现的次数
extend()列表末尾追加多个数据
index()查询指定数据第一次出现的索引位置
insert()指定索引处插入数据
pop()默认弹出最后一个数据
remove()根据列表项删除一个数据
reverse()翻转列表
sort()列表数据简单排序

增删改查

#增
append 在列表尾部添加新元素
ls.append(11)

insert(序号,数据)插入新元素到指定位置
ls.insert(0,100)
print(ls)

extend 将参数列表中的元素扩充到ls中
ls.extend(ls1)
print(ls)


#删
remove 根据元素的值删除元素
ls.remove(100)
print(ls)

pop 根据序号删除元素,如果序号缺省,默认删除最后一个元素
ls.pop()
print(ls)

clear 清空列表的内容
ls.clear()
print(ls)

#改
ls[4] = 500

#查
print(ls)
负数是从右到左元素序号
print(ls[-3])

排序,逆序,查找,统计次数

#排序
ls.sort()
print(ls)

#逆序
ls.reverse()
print(ls)

#查找 :返回元素的序号,如果元素不存在,抛出异常。
num = ls.index(10)
print(num)

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

浅拷贝与深拷贝

#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) 
print(ls3) 
#尽量使用浅拷贝,如果修改了数据对副本有影响(影响后续运算),使用深拷贝。

切片技术

# 切片技术
# 所谓切片就是将序列(list,str,tuple)中指定的子序列提取出来
ls = [0,1,2,3,4,5,6,7,8,9]
#    -10-9-8-7-6-5-4-3-2-1     
ls1 = ls[3:6]
print(ls1)
ls1 = ls[3:6:2]
print(ls1)


# 如果缺省step,step默认值是1 
# 当step是 正数 时,缺省的start就是 左端点,缺省的end就是 右端点
# 当step是 负数 时,缺省的start就是 右端点,缺省的end就是 左端点
# 简而言之 step为正时 从左到右切 为负时 从右往左切

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值