第三章--第三节:列表
时间:2022-07-24
本文章向大家介绍第三章--第三节:列表,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
零、创建列表
- 创建普通列表 普通列表就是列表内包含的数据的类型是一致的(比如说数据类型都是整型)。创建方式如下:
# 列表中包含的数据的类型都是整型
nums=[0,1,2,3,4,5]
# 列表中包含的数据的类型都是字符串
names=['张三','李四','王五','赵六']
- 创建混合列表 混合列表就是列表内包含的数据的类型不同(比如包含的数据的类型即包含整型又包含字符串).。创建方式如下:
# 列表中包含的数据的类型有字符串、整型还有浮点型
message=['你好',100,'呵呵哒','北京市朝阳区',90,7.1]
- 创建空列表 空列表就是不包含任何数据的列表。创建方式如下:
names=[]
一、获取列表元素
- 获取单个元素 获取单个元素只需要指定要获取元素的下标索引即可,语法如下:
list[下标索引]
我们通过一个列子来看一下
# 定义一个姓名例表
names=['张三','李四','王五','赵六']
# 访问第三个元素
name=names[2]
# 将打印出 “王五”
print(name)
注意:列表的下标索引是从 0 开始的,因此列表中第一个元素的下标索引是0,第二个元素的下标索引是1,第n个元素的小标索引是n-1
- 获取部分元素(切片) 在某些情况下需要获取列表的部分元素,语法如下:
list[起始下标索引:截至下标索引]
通过一个例子来看一下
# 定义一个姓名例表
names=['张三','李四','王五','赵六']
# 访问第二个到第三个元素
name=names[1:3]
# 将打印出 “李四、王五”
print(name)
注意:获取部分列表元素的时候,不会取到截至下标的元素。例如上例中截至下标为3,但是不会取出3这个下标对应的元素
二、修改、添加、删除列表元素
- 修改 修改列表元素只需指定要修改的元素的下标,并将新值赋给该下标的元素,语法如下:
list[下标]=新值
通过例子来看一下
# 定义一个姓名列表
names=['张三','李四','王五','赵六']
# 输出第2个元素
# 将输出李四
print(names[1])
# 将第2个元素修改为田七
names[1]='田七'
# 再次打印第2个元素
# 打印结果变为田七
print(names[1])
- 添加
- 单个添加 单个添加列表元素只需要调用 append() 函数,语法如下:
list.append(新增元素)
通过例子来看一下使用方法:
# 定义姓名列表
names=['张三','李四','王五','赵六']
# 在列表中添加一个新的姓名:田七
names.append('田七')
# 打印列表,列表末尾将会增加一个姓名:田七
print(names)
- 批量添加 批量添加列表元素时如果通过循环的方式调用append函数的话代码会很多,而且性能也不好,因此python增加了 extend 函数。通过此函数可以实现批量添加元素,以及合并两个列表。语法如下:
list.extend(批量添加的元素/另一个列表)
我们通过一个例子来看一下
# 定义姓名列表
names=['张三','李四','王五','赵六']
# 添加3个姓名:田七、孙八、钱九
names.extend(['田七','孙八','钱九'])
# 打印姓名列表,列表末尾将会增加一个姓名:田七、孙八、钱九
print(names)
# 定义一个新的姓名列表
new_names=['jack','tom','ice']
# 将新的姓名列表添加到姓名列表中
names.extend(new_names)
# 打印姓名列表,列表末尾将会增加一个姓名:jack、tom、ice
print(names)
- 指定位置添加 前面的两种方法只能将新元素添加到列表的末尾,但在某些情况下需要将新元素添加到指定位置。这种情况下我们可以使用 insert 函数。语法如下:
list.insert(插入位置的下标,新元素)
通过例子看一下使用方法:
# 定义姓名列表
names=['张三','李四','王五','赵六']
# 在第2个位置插入姓名:田七
names.insert(1,'田七')
# 打印列表,列表第2个位置将会增加一个姓名:田七
print(names)
- 删除 删除列表元素的方法有三种: del、remove、pop
- del del删除方法只需要指定要删除元素的下标索引,语法如下:
del list[要删除元素的下标索引]
我们通过代码看一下用法:
# 定义姓名列表
names=['张三','李四','王五','赵六']
# 删除第二个元素
del names[1]
# 打印姓名列表,李四不在列表中
print(names)
- remove 当我们不知道元素在列表中的位置或者不关心元素位置时,可以使用 remove 函数。语法如下:
list.remove(要删除的元素)
下面通过例子来看一下使用方法
# 定义姓名列表
names=['张三','李四','王五','赵六']
# 删除李四
names.remove('李四')
# 打印姓名列表,李四不在列表中
print(names)
注意:如果列表中存在多个相同的元素内容,那么在调用remove函数时,只会删除第一个匹配的元素内容。例如:
names=['张三','李四','王五','李四']
names.remove('李四')
# 打印姓名列表,原本在位置2的李四不存在了,但是列表末尾的李四还在
print(names)
- pop 当需要删除列表元素并返回删除元素的值的时候,我们就需要用到了 pop 函数,语法如下:
list.pop([删除元素下标索引])
我们通过代码看一下用法:
# 定义姓名列表
names=['张三','李四','王五','赵六']
# 删除第2个元素,并返回李四
names.pop(1)
# 打印姓名列表,李四不在列表中,
print(names)
注意1:当pop函数不指定删除元素下标索引的时候,默认删除列表最后一个元素
注意2:删除元素的下标索引可以为负数,例如-1,表示删除列表最后一个元素,-2表示删除列表倒数第二个元素
三、列表其他函数/方法
列表还有其他的一些函数/方法,我们这里通过表格的方式展示出来。
函数/方法 |
说明 |
---|---|
len(list) |
返回列表长度 |
max(list) |
返回列表中最大值 |
min(list) |
返回列表中最小值 |
list(元祖) |
将元祖转换为列表 |
list.count(元素) |
返回指定元素在列表中的出现的次数 |
list.index(元素) |
从列表中找出指定值第一个匹配项的索引位置 |
list.reverse() |
反向列表中元素 |
list.sort() |
列表排序 |
list.clear() |
清除列表内容 |
list.copy() |
复制列表 |
注意:我将会在后面写一个文章专门讲解列表排序(list.sort()),同时文章我也会发布在公众号“朱老师IT小课堂”
四、小结
本节讲解了列表的主要操作,这些操作大家要记牢
五、作业
- 一个班级有10名学生,创建这个10名学生的名单,并对这十名学生进行点名。
- 班级又增加了两名学生,将这两名学生增加到名单中。
- 又新来一名学生,将这名学生怎加到位置3。
- 有一名学生转学了,请更新名单。
- 关于JVM直接内存触发Full GC
- 极客DIY:通过树莓派发送摩斯码
- Hadoop SequnceFile.Writer 压缩模式及压缩库浅析
- Thrift抛直接内存OOM一点解决思路
- 小顶堆Java实现
- Tomcat源码分析一:源码导入
- 如何使用Metasploit对安卓手机进行控制
- 关于MySQL DNS解析探究之二:unauthenticated user
- Thrift Direct Memory OOM问题解决方法
- Mapreduce程序中reduce的Iterable参数迭代出是同一个对象
- 内部威胁那些事儿(二):系统破坏
- 从用户行为去理解内容-item2vec及其应用
- Dubbo与Zookeeper、SpringMVC整合和使用(入门级)
- Websocket HandShake Sec-WebSocket-Accept 生成策略
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- [Data Guard全解析]5.Data Guard及ADG日常运维操作
- [Oracle 数据库日常操作] 表空间的日常运维命令
- Java 反射 -超详细讲解(附源码)
- [Data Guard全解析]6.物理备库的Switchover
- com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException异常解决方法
- [Oracle数据库日常操作] Redo Log的相关操作
- [周末往期回顾] 使用requests和fiddler模拟登陆51cto并获取下载币
- [周末往期回顾] 自动备份思科交换机配置
- [打造自己的监控系统]让Django运行自定义命令
- 没想到 Shell 命令竟然还能这么玩?| Shell 玩转大数据分析
- 瞄准器!3D入门实战!拇指射箭!Cocos Creator 3D !
- [周末往期回顾] 使用Django创建网站
- 用 NetworkX + Gephi + Nebula Graph 分析<权力的游戏>人物关系(上篇)
- [Oracle数据库迁移]使用expdp/impdp进行迁移
- [周末往期回顾]使用Django获取Linux性能数据并存放在redis中