LLM系列:1.python入门:5.列表型对象 (List)
·
列表型对象 (List)
一. 列表基础
1. 列表创建
list可以存储任意类型对象
(1).直接创建
lst = [1, 2, 3, 4]
(2).列表推导式
①.表推导式的语法结构
-
基本形式:
[表达式 for 变量 in 可迭代对象] -
带条件:
[表达式 for 变量 in 可迭代对象 if 条件]例子:
[x for x in range(10) if x % 2 == 0]含义:
从 0~9 中选出能被 2 整除的数字,然后把它们放到列表里。
输出结果:
[0, 2, 4, 6, 8]
②.创建列表
-
无条件
lst = [x * 2 for x in range(5)] -
可加入条件过滤
lst = [x for x in range(10) if x % 2 == 0] # 偶数列表
(3).使用list() 和range()
range() 用于生成整数序列,语法:
range(start, stop, step)
①.只有一个参数版本:range(stop)
range(5) -> 0, 1, 2, 3, 4
默认 start = 0,step = 1。
②.两个参数版本:range(start, stop)
range(2, 7) -> 2, 3, 4, 5, 6
不包含 stop元素。
③.三个参数版本:range(start, stop, step)
range(1, 10, 2) -> 1, 3, 5, 7, 9
range(10, 0, -2) -> 10, 8, 6, 4, 2
- step 可为正或负
- 不包含 stop元素。
例子
lst = list(range(5))生成:
[0, 1, 2, 3, 4]也可设置步长:
lst = list(range(1, 10, 2)) # [1, 3, 5, 7, 9]
2. 基础索引与切片
列表的索引和切片规则与字符串完全一致,但列表是可变对象,支持通过索引修改元素。
- 正向索引:
ls[1]获取第二个元素。 - 反向索引:
ls[-1]获取最后一个元素。 - 切片:
ls[1:3]获取索引1到2的元素。 - 步长切片:
ls[1:4:2]每隔一个取一个。 - 反向切片:
ls[::-2]反向取奇数位。
3. 列表的可变性
与字符串不同,列表可以通过索引直接修改内部元素:
l = [0, 1, 2]
l[0] = 1 # 修改第一个元素为1
print(l) # 输出: [1, 1, 2]
4. 列表是有序的
不同排列顺序是不同列表
二. 列表方法
1. 运算符
列表支持加法 + 和乘法 * 运算符。
- 加法 (+):将两个列表合并,顺序不变,重复元素保留。
- 乘法 (*):将列表元素复制并拼接。
2. 添加元素
(1).append - 追加单个元素
作用:在列表末尾追加一个对象,一次只能追加一个元素。注:可以追加任意类型,如列表、函数等作为独立的一个元素。
list.append(obj)
参数:
- 对象 (obj): 需要追加到列表末尾的具体元素。(在 Python 中,
obj(对象) 指代的是“任意数据类型(Any)”。)
返回值:
- 成功: 无返回值 (NoneType),直接在原列表对象上进行修改。
示例:
l = [0, 1, 2]
# 在末尾追加元素3
l.append(3)
# l 变为 [0, 1, 2, 3]
(2).extend - 追加多个元素
作用:在列表末尾追加多个对象,将其元素逐一加入。
list.extend(iterable)
参数:
- 可迭代对象 (iterable): 参数必须是可迭代对象(Iterable,如 list、tuple、str 等)。即便只添加一个元素,也应当将其置于一个可迭代容器中(如列表)。
返回值:
- 成功: 无返回值 (NoneType),直接在原列表对象上进行修改。
示例:
l = [0, 1, 2, 3]
# 将 [4, 5] 中的元素逐一追加
l.extend([4, 5])
# l 变为 [0, 1, 2, 3, 4, 5]
(3).insert - 指定位置插入
作用:在指定索引位置插入一个对象,一次只能插入一个元素,原有元素依次后移。
list.insert(index, obj)
参数:
- 索引 (index): 指定要插入元素的下标位置(int)。
- 对象 (obj): 需要被插入的具体元素(Any)。
返回值:
- 成功: 无返回值 (NoneType),直接在原列表对象上进行修改。
示例:
l = [0, 1, 2, 3, 4, 5]
# 在索引1的位置插入列表 [8, 9]
l.insert(1, [8, 9])
# l 变为 [0, [8, 9], 1, 2, 3, 4, 5]
3. 删除元素
(1).pop - 弹出指定索引元素
作用:删除并返回列表中指定索引位置的元素。
list.pop(index=-1)
参数:
- 索引 (index): 需要被删除元素的下标(int)。默认值为
-1,即默认删除最后一个元素 (pop())。
返回值:
- 成功: 返回被成功删除的那个元素对象(Any)。
示例:
l = [0, 1, 2, 3, 4]
# 删除最后一个元素,并将其赋值给 val
val = l.pop()
# val 变为 4,l 变为 [0, 1, 2, 3]
(2).remove - 按值删除元素
作用:删除列表中第一个出现的指定值。
list.remove(value)
参数:
- 值 (value): 需要删除的目标内容(Any)。注:如果该值出现多次,remove函数只会删除第一次出现的value;如果元素不存在会报错。
返回值:
- 成功: 无返回值 (NoneType),直接在原列表对象上进行修改。
示例:
l = [0, 1, 2, 2, 4]
# 删除列表中出现的第一个值 2
l.remove(2)
# l 变为 [0, 1, 2, 4]
(3).del - 通用删除命令
作用:Python自带的通用删除语句,可用于删除指定索引的元素、切片或直接销毁整个列表对象。
del list[index]
del list[start:end]
del list
参数:
- 目标对象: 可以是列表元素的索引(int)、切片范围(slice)或列表变量名本身(list)。
返回值:
- 成功: 无返回值(NoneType),直接从内存中删除相关对象或元素。
示例:
l = [0, 1, 2, 3, 4]
del l[0] # 删除索引0的元素
del l[1:] # 删除一个切片
del l # 删除整个列表对象
(4).clear - 清空列表
作用:清空列表中的所有元素,使其变为空列表 []。
list.clear()
参数:
- 无参数(None)。
返回值:
- 成功: 无返回值 (NoneType),原列表变为空列表。
示例:
l = [0, 1, 2]
# 清空列表内的所有元素
l.clear()
# l 变为 []
4. 查找元素
(1).index - 查找首次出现的索引
作用:返回指定值在列表中第一次出现的索引位置。
list.index(value, start=0, end=len(list))
参数:
- 值 (value): 需要查找的目标元素(Any)。
- 起始索引 (start): 可选,查找区间的起点(包含)(int)。
- 结束索引 (end): 可选,查找区间的终点(不包含)(int)。
返回值:
- 成功: 返回查找到的第一次出现的整数下标(int)。找不到则报错。
示例:
l = list("Hello")
# 查找字符 'e' 第一次出现的索引
idx = l.index('e')
# idx 变为 1
(2).count - 统计元素次数
作用:统计指定值在列表中出现的总次数。
list.count(value)
参数:
- 值 (value): 需要被统计的目标元素(Any)。
返回值:
- 成功: 返回该元素在列表中出现的整数次数(int)。
示例:
l = list("Hello")
# 统计字符 'l' 在列表中出现的次数
cnt = l.count('l')
# cnt 变为 2
(3).in 关键字 - 判断元素是否存在
作用:判断某元素是否存在于列表中。
value in list
参数:
- 值 (value): 需要判断的目标元素(Any)。
- 列表 (list): 被查找的目标容器(list)。
返回值:
- 成功: 存在返回布尔值
True,不存在返回False(bool)。
示例:
l = list("Hello")
# 判断字符 'H' 是否在列表 l 中
has_H = 'H' in l
# has_H 为 True
5. 排序
(1).sort - 列表排序
作用:对列表进行原地排序(直接修改原列表),默认按升序排列。
list.sort(key=None, reverse=False)
参数:
- 排序规则 (key): 接收一个函数用于自定义排序逻辑(Callable 或 None,默认
None)。 - 反转标志 (reverse): 接收布尔值(bool)。默认
False(升序),设置为True可进行降序排序。
返回值:
- 成功: 无返回值 (NoneType),直接在原列表对象上进行修改。
示例:
l = [1, 0, 2, 3]
l.sort() # 升序排序,变为 [0, 1, 2, 3]
l.sort(reverse=True) # 降序排序,变为 [3, 2, 1, 0]
6. 反转
(1).reverse - 列表反转
作用:将列表中的元素进行原地反转(头尾互换)。
list.reverse()
参数:
- 无参数(None)。
返回值:
- 成功: 无返回值 (NoneType),直接在原列表对象上进行修改。
示例:
l = [3, 2, 1, 0]
# 将列表元素前后位置翻转
l.reverse()
# l 变为 [0, 1, 2, 3]
更多推荐



所有评论(0)