当前位置: 首页 > article >正文

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为正时 从左到右切 为负时 从右往左切


http://www.kler.cn/a/294298.html

相关文章:

  • 基于 Python Django 的二手房间可视化系统分析
  • 【FFmpeg】FFmpeg 函数简介 ③ ( 编解码相关函数 | FFmpeg 源码地址 | FFmpeg 解码器相关 结构体 和 函数 )
  • 量化交易系统开发-实时行情自动化交易-3.4.2.2.Okex交易数据
  • C++ 并发专题 - 自旋锁的实现(Spinlock)
  • 1111111111待修改--大流量分析(三)-BUUCTF
  • 【设计模式】行为型模式(二):策略模式、命令模式
  • pytorch torch.matmul函数介绍
  • 网络堡垒:交换机加固,守护你的数据安全
  • 10,sql约束(2)
  • 算法习题集
  • C++入门(05-2)从命令行执行C++编译器_GCC
  • 套接字的介绍
  • 2024 年高教社杯全国大学生数学建模竞赛 C 题 农作物的种植策略(完整代码)
  • 【无标题】XSS安全防护:responseBody (输入流可重复读) 配置
  • 搭建 canal 监控mysql数据到 elasticsearch 中(本机到远端sql)
  • linux挂盘
  • Axure中继器教程及案例详解
  • 使用http-request 属性替代action绑定上传URL
  • 在鼠标附近显示一个中心渐变色的高亮效果
  • 流媒体技术革新,EasyCVR视频汇聚平台赋能视频监控全面升级
  • Go入门指南(The Way to Go) 完整版PDF
  • ARM SIMD instruction -- fcmpe
  • 出现 /www/server/mysql/bin/mysqld: Shutdown complete 的解决方法
  • yarn install 使用最新淘宝镜像和清华镜像
  • Java基于微信小程序的校园兼职小程序
  • 信号槽、父子关系、隐式共享