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

Python从入门到高手7.3节-列表的常用操作方法

目录

7.3.1 列表常用操作方法

7.3.2 列表的添加

7.3.3 列表的查找

7.3.4 列表的修改

7.3.5 列表的删除

7.3.6 与列表有关的其它操作方法

7.3.7 与10月说再见


7.3.1 列表常用操作方法

列表类型是一种抽象数据类型,抽象数据类型定义了数据类型的操作方法。在本节教程中,将着重介绍列表类型的常用操作方法。

7.3.2 列表的添加

(1) list.append(object)

函数说明:

将参数object代表的数据对象添加至列表中,元素被添加至列表的末尾,该方法无返回值。在定义一个空的列表时,无法通过索引来添加元素,否则会抛出异常。添加新的元素需通过本节介绍的列表的添加的一系列方法。

代码实例:

"""
@author: 大神薯条老师
@desc: 列表对象的常用操作方法
"""
 
# 定义一个空的列表,空列表无法通过索引来添加元素
plans = []
 
# 参数object可为任意数据类型
# 执行append方法时,元素被添加至列表的尾部,即列表最右边的位置
plans.append("每天晚上做100个俯卧撑")
plans.append(666)
 
# plans的输出为["每天晚上做100个俯卧撑", 666]

(2) list.insert(index, object)

函数说明:

参数index表示索引值,insert方法用来在index对应的位置插入元素。

代码实例:

"""
@author: 大神薯条老师
@desc: 列表对象的insert方法
"""
 
# 定义一个空的列表plans
plans = []
plans.insert(0, "每天晚上做100个俯卧撑")
# plans的输出为["每天晚上做100个俯卧撑"]
 
# 继续在索引0的位置添加元素66
 
plans.insert(0, 66)
# plans的输出为[66,"每天晚上做100个俯卧撑"]

(3) list.extend(iterable)

函数说明

在列表的末尾添加一个可迭代对象,无返回值。extend方法只接受可迭代的对象,会将可迭代对象中的元素逐一添加到列表中。

代码实例:

# __author__ = 大神薯条老师
# __desc__ = 执行extend方法在列表末尾添加一个可迭代对象
 
# 定义一个空列表plans
plans = []
plans.extend("每天晚上做100个俯卧撑")
# plans的输出为['每', '天', '晚', '上', '做', '1', '0', '0', '个', '俯', '卧', '撑']
 
'''
同学们需要注意extend方法与append方法的区别。
extend方法是添加一个可迭代对象,
会将可迭代对象中的元素逐个添加到列表中。
append方法是将对象作为一个整体添加到列表中
'''
 
# 定义一个空的列表plans
plans = []
plans.append("每天晚上做100个俯卧撑")
# plans的输出为['每天晚上做100个俯卧撑']

迄今为止学过的可迭代类型有字符串,列表。

7.3.3 列表的查找

(1) list.index(value, [start, [stop]])

函数说明:

在列表中查找元素是否存在,如果存在会返回该元素的索引,如果不存在会抛出异常。start表示查找的起始位置,stop表示查找的结束位置(闭区间,不包括stop)。

start的默认值为0,end的默认值为列表的长度。

代码实例:

# __author__ = 大神薯条老师
# __desc__ = 执行index方法来查找元素的索引
 
# 定义一个空的列表plans
plans = []
plans.append("每天晚上做100个俯卧撑")
plans.append(666)
# plans现在的输出为["每天晚上做100个俯卧撑", 666]
 
index = plans.index(666)
# index的输出为1

(2) list.count(value)

函数说明:

查找元素值value在列表中的数量,value不存在时,返回0。

代码实例:

# __author__ = 大神薯条老师
# __desc__ = 执行count方法来查找元素的数量
 
# 定义一个空的列表numbers
numbers = []
numbers.append(666)
numbers.append(666)
# numbers的输出为[666, 666]
 
count_of_number =  numbers.count(666)
# count_of_number的输出为2
 
count_of_number =  numbers.count(999)
# count_of_number的输出为0

7.3.4 列表的修改

通过[]+索引来修改列表中的元素:

"""
@author: 大神薯条老师
@desc: 通过[]+索引来修改列表中的元素值
"""

numbers = [1, 2, 3]
# 将列表中的第一个元素修改为99
numbers[0] = 99

7.3.5 列表的删除

(1) list.pop([index])

函数说明:

删除索引index对应的元素值,index的值默认为列表的最大索引值,也就是说,pop方法默认删除尾部的元素。列表的最大索引值为列表长度减一。返回值为被删除的列表元素,index的值必须在列表有效的索引范围内,否则会抛出异常。

代码实例:

# __author__ = 大神薯条老师
# __desc__ = 通过pop方法来删除列表中的指定位置的元素
 
# 定义一个空的列表plans
plans = []
plans.append("每天晚上做100个俯卧撑")
plans.append(666)
# plans的输出为["每天晚上做100个俯卧撑", 666]
 
# 1. pop方法不传递任何参数时,默认删除尾部中的元素
plan = plans.pop()
# plan的输出为666
# plans的输出为["每天晚上做100个俯卧撑"]
 
# 在pop方法中传递参数时,表示删除指定索引位置的元素
plan = plans.pop(0)
 
# 2. plan的输出为"每天晚上做100个俯卧撑"
# plans迭代输出为[]
 
# 3. 索引必须在有效的范围之内,否则抛出错误异常
plans.pop()
# 抛出异常,此时的plans为空列表。

(2) list.remove(value)

函数说明:

remove方法用来根据值来删除列表中的元素,无返回值。注意:remove方法只删除第一次匹配的元素

代码实例:

# __author__ = 大神薯条老师
# __desc__ = 调用remove方法来删除元素值
 
# 定义一个空的列表plans
plans = []
plans.append("每天晚上做100个俯卧撑")
plans.append(666)
plans.append(666)
# plans的输出为["每天晚上做100个俯卧撑", 666, 666]
 
plans.remove(666)
# plans的输出为["每天晚上做100个俯卧撑", 666]

(3) list.clear()

函数说明:

无参数,无返回值,一键清空列表中的所有元素。

代码实例:

# __author__ = 大神薯条老师
# __desc__ = 执行clear方法将列表中的元素全部清除
 
# 小美喜欢做计划
plans = ["每天晚上做瑜伽来健身", "每个月看两本书"]
 
# 但是她从来没实现过,在暴怒之下,她一键执行了clear方法将计划全部清除
plans.clear()
# plans的输出为[]

7.3.6 与列表有关的其它操作方法

(1) len(container)

函数说明:

len方法是一个内置方法,用来返回容器数据类型中的元素数目。Python中的复合数据类型都是一种容器类的数据类型。

代码实例:

# __author__ = 大神薯条老师
# __desc__ = 执行len方法获取列表的元素数目
 
# 小美喜欢做计划,却从来不认真去执行
plans = ["每天晚上做瑜伽来健身", "每个月看两本书"]
 
how_many_plans = len(plans)
# how_many_plans的输出为2

(2) list.sort(key=None, reverse=False)

函数说明:

对列表进行原地排序,只使用 < 操作符来进行元素值的比较。 如果在比较过程中发生异常,那么排序操作会失败。参数key的默认值为None, 用来传递带一个参数的函数。sort方法会将列表元素传递给该函数,然后根据该函数的输出来进行比较。例如key=len,那么sort方法会计算列表元素的长度,然后根据长度来进行排序。参数reverse用来指定是降序排序还是升序排序。reverse为False时表示升序排序,为True时表示降序排序。

代码实例:

# __author__ = 大神薯条老师
# __desc__ = 执行sort方法对列表进行排序
 
# 定义一个杂乱无序的数字列表
numbers = [1,3,5,7,1,4,9]
# 执行sort方法来排序,sort方法不带任何参数时表示直接根据元素大小进行升序排序
numbers.sort()
# numbers的输出为[1,1,3,4,5,7,9]
 
# 定义一个杂乱无序的数字列表
numbers = [[1,2,3],[4,5],[6,7,8,9]]
 
# key传递的是len,sort方法会先计算列表元素的len值,然后进行降序排序
numbers.sort(key=len, reverse=True)
# numbers的输出为[[6,7,8,9],[1,2,3],[4,5]]
 
# 在key指定的方法中,传递给该方法的列表项必须是合法的参数类型
# 比如传递简单数据类型给len方法时就会抛出异常

(3) str.join(list)

函数说明:

当列表中的元素类型全为字符串时,可以通过字符串的join方法将列表中的元素组成以str做为分隔符的字符串。

代码实例:

# __author__ = 大神薯条老师
# __desc__ = 执行字符串类型的join方法来将列表中的元素进行拼接
 
# 小美喜欢做计划,却从来不认真去执行
plans = ["每天晚上做瑜伽来健身", "每个月看两本书"]
 
# plans_never_implemented变量表示从未认真执行过的计划
plans_never_implemented =",".join(plans)
 
# plans_never_implemented的输出为"每天晚上做瑜伽来健身,每个月看两本书"

7.3.7 与10月说再见

跟薯条老师学后端开发,高级爬虫(JS逆向+安卓逆向),数据分析,大数据开发,量化交易,以及机器学习+深度学习算法。坚定自己的学习目标,保持学习的热情,那你成为高手只是时间问题。

薯条老师的学生在南方电网,林氏家居,京东,阿里等大厂。想系统学习Python和Java的同学,可以移步薯条老师的个人技术博客:薯条老师的个人技术博客http://www.chipscoco.com/ 对本节教程有任何不懂的同学,亦可在评论区中进行评论。薯条老师会详细解答你们提出的每一个问题。


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

相关文章:

  • 麒麟操作系统服务架构保姆级教程(十一)https配置
  • 基于本地消息表实现分布式事务
  • LINUX编译LibreOffice
  • 差分(前缀和的逆运算)
  • 【tailscale 和 ssh】当服务器建立好节点,但通过客户端无法通过 ssh 连接
  • 洛谷P3916 图的遍历
  • 【2024工业3D异常检测文献】LSFA: 面向三维工业异常检测的自监督特征适配
  • Xcode文件默认存储位置-使用c++file保存文件默认路径以及设置为路径为当前项目路径
  • Python 深度学习简单介绍
  • Java表单提交:轻松实现与PHP和Python相同的简便性
  • 力扣刷题(sql)--零散知识点(2)
  • linux系统操作教程小白学习
  • 大数据之Kafka集群的安装部署
  • mysql 十把锁之《小猫钓鱼》
  • 踩坑:关于使用ceph pg repair引发的业务阻塞
  • 【MATLAB源码-第187期】基于matlab的人工蜂群优化算法(ABC)机器人栅格路径规划,输出做短路径图和适应度曲线。
  • js 实现自定义打印模板
  • Java生态系统的完全掌握(5/5)
  • anchor、anchor box、bounding box之间关系
  • 大尺寸彩色电子墨水屏标签,如何焕新数字化商业体验?
  • 解决前后端跨域问题(包会的!)
  • pytest自动化测试数据驱动yaml/excel/csv/json
  • Python——发送HTTP请求
  • docker 安装 PostgreSQL
  • 《国产AI大模型应用报告》发布!《豆包》上半年下载量超3309万,更多机会有待在应用层被发掘(附PDF)
  • 前端经典【面试题】持续更新HTML、CSS、JS、VUE、FLUTTER、性能优化等