Python列表(list)是最常用的数据结构,获取元素、索引、切片、查找、统计是日常编码高频操作。
这篇整理了所有和「获取」相关的列表用法,代码简洁可直接运行,适合新手学习。
一、列表基础:什么是列表?
列表是有序、可修改、可重复的容器,用 [] 定义,可存放任意类型数据:
# 示例列表(全文通用)
nums = [10, 20, 30, 40, 50, 20, 30, 20]
names = ["张三", "李四", "王五", "赵六"]
mix = [1, "Python", True, 3.14] # 混合类型
二、按「索引」获取单个元素(最基础)
列表从左到右索引从 0 开始,从右到左索引从 -1 开始。
1. 正索引(从前取)
names = ["张三", "李四", "王五", "赵六"]
# 获取第1个元素
print(names[0]) # 输出:张三
# 获取第3个元素
print(names[2]) # 输出:王五
2. 负索引(从后取)
# 获取最后1个元素
print(names[-1]) # 输出:赵六
# 获取倒数第2个元素
print(names[-2]) # 输出:王五
✅ 索引越界会报错!names[100] 会抛出 IndexError。
三、按「切片」获取多个元素(批量取)
切片语法:列表[起始索引:结束索引:步长]
nums = [10,20,30,40,50,20,30,20]
# 1. 取索引1~3(不包含4)
print(nums[1:4]) # [20,30,40]
# 2. 取前3个元素
print(nums[:3]) # [10,20,30]
# 3. 从索引3取到最后
print(nums[3:]) # [40,50,20,30,20]
# 4. 步长为2,隔一个取一个
print(nums[::2]) # [10,30,50,30]
# 5. 快速反转列表
print(nums[::-1]) # [20,30,20,50,40,30,20,10]
四、查找相关:获取位置、判断存在
1. 获取元素第一次出现的索引 index()
nums = [10,20,30,40,50,20,30,20]
# 查找 20 第一次出现的索引
print(nums.index(20)) # 输出:1
# 从索引2开始查找 20
print(nums.index(20, 2)) # 输出:5
2. 判断元素是否在列表中(in / not in)
print(30in nums) # True
print(99in nums) # False
print(66notin nums) # True
3. 获取元素出现次数 count()
# 统计 20 出现几次
print(nums.count(20)) # 输出:3
五、获取列表整体信息
1. 获取列表长度 len()
print(len(nums)) # 8
2. 获取最大/最小值 max() / min()
print(max(nums)) # 50
print(min(nums)) # 10
3. 获取列表总和 sum()
print(sum(nums)) # 220
六、循环获取所有元素(遍历)
1. 直接遍历元素
for name in names:
print(name)
2. 遍历索引+元素(enumerate)
for idx, name in enumerate(names):
print(f"索引:{idx},值:{name}")
输出:
索引:0,值:张三
索引:1,值:李四
索引:2,值:王五
索引:3,值:赵六
七、快速速查表(建议收藏)
| | |
|---|
| lst[0] | |
| lst[1:4] | |
| lst.index(x) | |
| lst.count(x) | |
| x in lst | |
| len(lst) | |
| max(lst) | |
| for i in lst: | |
八、总结语
Python列表的获取操作是数据处理的基础,掌握索引、切片、查找、统计四大类用法,日常开发就能搞定80%的列表取值场景。
代码简单、逻辑清晰,新手照着敲就能学会~
总结
- 查找必备:
index()、count()、in 判断 - 信息获取:
len()、max()、min()、sum() - 遍历用
for 或 enumerate 同时拿索引+值