Python零基础入门(四)----列表
·
一、列表核心定义
有序、可变的容器,可存储任意类型数据(整数、字符串、列表等),用[]定义,元素间用逗号分隔。
基础格式与创建
# 空列表
lst1 = []
lst2 = list()
# 普通列表(存储不同类型数据)
lst3 = [1, 2, "Python", True, 3.14]
lst4 = [1, 2, [3, 4]] # 嵌套列表
二、列表核心操作
1. 访问列表元素(索引取值)
索引从0开始,支持正向索引和反向索引(反向从-1开始),可切片取值。


lst = [10, 20, 30, 40, 50]
# 正向索引
print(lst[0]) # 10(第一个元素)
print(lst[2]) # 30(第三个元素)
# 反向索引
print(lst[-1]) # 50(最后一个元素)
print(lst[-3]) # 30(倒数第三个元素)
# 切片取值(左闭右开,可指定步长)
print(lst[1:4]) # [20, 30, 40]
print(lst[::2]) # [10, 30, 50](步长2)
print(lst[::-1]) # [50, 40, 30, 20, 10](倒序)
2. 修改列表元素(索引赋值)
通过索引定位元素,直接赋值修改,支持批量修改。
lst = [10, 20, 30, 40]
# 单个元素修改
lst[1] = 200
print(lst) # [10, 200, 30, 40]
# 批量修改(切片赋值)
lst[2:] = [300, 400]
print(lst) # [10, 200, 300, 400]
3. 新增列表元素
常用3种方式:append(末尾新增)、insert(指定位置新增)、extend(合并列表)
lst = [10, 20, 30]
# append:末尾新增单个元素
lst.append(40)
print(lst) # [10, 20, 30, 40]
# insert:指定索引位置新增(索引越界则默认末尾)
lst.insert(1, 15)
print(lst) # [10, 15, 20, 30, 40]
# extend:合并另一个列表(新增多个元素)
lst2 = [50, 60]
lst.extend(lst2)
print(lst) # [10, 15, 20, 30, 40, 50, 60]
4. 删除列表元素
常用4种方式:del(索引/切片删除)、remove(按元素值删除)、pop(索引删除并返回元素)、clear(清空列表)。
lst = [10, 20, 30, 40, 20]
# del:删除指定索引元素,也可删除切片、整个列表
del lst[2]
print(lst) # [10, 20, 40, 20]
del lst[1:3]
print(lst) # [10, 20]
# remove:按元素值删除(删除第一个匹配项,元素不存在报错)
lst.remove(20)
print(lst) # [10]
# pop:默认删除最后一个元素,可指定索引,返回删除的元素
lst = [10, 20, 30]
res = lst.pop()
print(res) # 30
print(lst) # [10, 20]
# clear:清空列表,保留列表对象
lst.clear()
print(lst) # []
三、列表常用方法
lst = [30, 10, 20, 10, 40]
# count:统计元素出现次数
print(lst.count(10)) # 2
# index:查找元素第一次出现的索引,元素不存在报错
print(lst.index(20)) # 2
# sort:排序(默认升序,reverse=True降序)
lst.sort()
print(lst) # [10, 10, 20, 30, 40]
lst.sort(reverse=True)
print(lst) # [40, 30, 20, 10, 10]
# reverse:反转列表(倒序排列,不同于sort降序)
lst.reverse()
print(lst) # [10, 10, 20, 30, 40]
# len:获取列表长度(元素个数)
print(len(lst)) # 5
四、列表循环遍历
常用for循环遍历,可直接遍历元素,也可通过索引遍历。
lst = [10, 20, 30, 40]
# 直接遍历元素(最常用)
for num in lst:
print(num)
# 索引遍历(需要获取元素索引时用)
for i in range(len(lst)):
print(lst[i])
五、列表嵌套
列表内部包含另一个列表,通过“多层索引”访问嵌套的元素。
六、注意点
-
列表索引从0开始,索引越界(如lst[10],列表长度不足11)会报错。
-
remove删除元素时,仅删除第一个匹配项,元素不存在会报错。
-
切片取值不会修改原列表,切片赋值会直接修改原列表。
-
列表是可变容器,修改、新增、删除元素会直接改变原列表。
-
嵌套列表访问时,需逐层使用索引,不可跳过层级。
更多推荐


所有评论(0)