目录
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的位置添加元素66plans.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的输出为2count_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/ 对本节教程有任何不懂的同学,亦可在评论区中进行评论。薯条老师会详细解答你们提出的每一个问题。