python15-列表
课程:B站大学
记录python学习,直到学会基本的爬虫,使用python搭建接口自动化测试就算学会了,在进阶webui自动化,app自动化
列表那些事儿
什么是列表
列表是 Python 中最常用的数据类型之一。它是一种有序、可变,异构的数据集合,可以存储多个不同类型的元素。
列表的特点
列表是 Python 中的一种数据结构,具有以下特点:
由于列表的有序性、可变性和多样化的数据类型,它是一种非常常用和灵活的数据结构,常用于存储和处理一组相关的数据。列表提供了丰富的方法和操作,使得对数据的管理和处理变得更加方便和高效。
列表的定义
字面量定义
Python 中使用中括号定义列表。
l1 = [] # 创建一个空列表
l2 = [1, 2, 3, "hello", True] # 创建一个包含多个元素的列表
由于列表具有可变性,所以空列表的定义是被允许且有意义的。
列表的构造方法定义
可能通过列表的构造方法定义列表。
当使用构造方法定义列表时,参数只能是可迭代的对象,构造方法会将参数中的元素构造成为列表的元素。
可以理解为将可迭代的对象强制类型转换为列表。
l1 = list("abc")
l2 = list((1,2,3))
l3 = list([1,2,3])
列表中元素的引用
列表同字符串,元组一样,也可以使用下标形式引用列表中的元素。并且,下标不能超过列表的元素个数减一,否则会抛出下标越界错误。
l = [1,2,3,4,5]
print(l[0])
print(l[3])
print(l[5])
列表中元素的修改
由于列表的可变特性,可以通过下标的方式,对列表中的元素进行修改。
l = [1,2,3,4,5]
l[0] = 111
l[3] = 444
列表的切片操作
列表的切片操作同字符串,元组一致
l = [1,2,3,4,5]
print(l[0:3])
print(l[:3])
print(l[3:])
print(l[:])
print(l[::-1])
列表的用途
列表在 Python 中具有广泛的用途,主要包括以下几个方面:
列表是一种有序的数据结构,可以用于存储一组相关的数据,如学生的成绩、员工的信息、商品的价格等。通过将相关的数据放入列表中,可以方便地进行统一的管理和处理。
数
列表提供了便捷的操作方法,可以进行遍历、搜索、插入和删除等操作。通过索引,可以访问列表中的特定元素;通过遍历,可以逐个处理列表中的元素;通过方法,可以在列表中插入新元素、删除指定元素等。
列表是一种重要的数据结构,广泛应用于算法和数据结构的实现中。例如,列表可以用于实现栈(Stack)、队列(Queue)、链表(LinkedList)等数据结构,还可以用于排序算法、搜索算法等的实现。
列表在 Python 中是一种基础且功能强大的数据结构,用途广泛,可以满足各种不同场景下的数据管理和处理需求。
列表操作
由于列表的可变特性,Python 为列表提供了丰富的操作方法。
获取列表元素个数
l = [1,2,3,4,5]
length = len(l)
统计查找操作
l = [1,2,3,4,5,1,2,3,3]
print(l.count(3))
第一次出现的下标位置,如果给定范围则只在范围内查找,如果查找目标不存在则抛出错误。
l = [1,2,3,4,5,1,2,3,3]
print(l.index(3))
print(l.index(3,5,10))
增加元素
l = []
l.append(1)
print(l)
l.append(1)
print(l)
l.append(2)
print(l)
l1 = [1,2,3]
l2 = ["a","b","c"]
l1.append(l2)
print(l1)
l1.extend(l2)
print(l1)
l1.extend("456")
print(l1)
l1.extend(("A","B","C"))
print(l1)
l = [1,2,3,4,5]
l.insert(0, "A")
print(l)
l.insert(3, "B")
print(l)
l.insert(10, "C")
print(l)
l.insert(9, "D")
print(l)
删除元素
l = [1,2,3,4,5,1,2,3]
del l[0]
print(l)
del l[10]
l = [1,2,3,4,5,1,2,3]
l.remove(3)
print(l)
l.remove(33)
l = [1,2,3,4,5,1,2,3]
print(l.pop())
print(l)
print(l.pop(3))
print(l)
print(l.pop(10))
l = [1,2,3,4,5,1,2,3]
l.clear()
print(l)
列表排序
sort(key, reverse) 对列表进行排序
l = ["a","abc","ab","A"]
l.sort()
print(l)
l = ["a","abc","ab","A"]
l.sort(reverse=True)
print(l)
元组和列表的区别
相同点
元组和列表在 Python 中,都是有序的,可迭代的数据结构。
元组和列表都是异构的,都可以存放不同数据类型的元素。
不同点
元组是不可变的,不可以进行增删改操作,一旦定义,无法修改
列表是可变的,可以对列表中的元素进行增删改操作,空列表有实际意义。
内存占用
由于元组与列表内部的实现机制不同,在相同元素和个数的情况下,元组占用内存空间更小。
from sys import getsizeof
t = (1, 2, 3, 4, 5, 6, 7, 8, 9, 0)
l = [1, 2, 3, 4, 5, 6, 7, 8, 9, 0]
print(getsizeof(t))
print(getsizeof(l))
实践是检验真理的唯一标准
作者:文人sec