Python基础-列表操作(2):列表的遍历和数字列表

Python遍历数字列表有三种常用方式:1. for循环直接访问元素,适合只读场景;2. range(len())配合索引修改列表;3. enumerate()同时获取索引和值,兼顾可读性与功能性;此外range()可快捷生成等差数字序列。

遍历列表是Python中最常用的操作之一,尤其在处理数字列表时,掌握几种清晰、高效的遍历方式能让你写代码更顺、逻辑更稳。

用for循环逐个访问元素

这是最直观的方式,适合只需要读取值、不关心索引的场景。

  • 语法简单:直接用 for item in list_name:
  • 变量 item 每次代表当前元素,类型和原列表一致(比如数字列表中就是int或float)
  • 注意:循环中修改 item 不会影响原列表(因为只是副本)

例如:

numbers = [1, 3, 5, 7]
for num in numbers:
  print(num * 2) # 输出:2 6 10 14

用range() + len() 遍历索引

当你需要知道“这是第几个数”或者想根据位置修改列表时,就得靠索引。

  • range(len(numbers)) 生成从 0 到 长度−1 的整数序列
  • 配合方括号下标,就能安全访问并修改元素
  • 避免直接用 for i in numbers 然后误写 numbers[i] —— 那会报错(i 是值,不是索引)

例如:

numbers = [10, 20, 30]
for i in range(len(numbers)):
  numbers[i] = numbers[i] + 5
print(numbers) # 输出:[15, 25, 35]

用enumerate() 同时拿到索引和值

这是兼顾可读性与功能性的推荐方式,特别适合调试或需要“第几项是几”的场景。

  • 返回的是 (索引, 元素) 元组,常用解包写法:for i, value in enumerate(numbers):
  • 比手动用 range + len 更简洁,也比单独存索引变量更安全
  • 可选参数 start=1 让索引从1开始(比如打印“第1名:…”)

例如:

scores = [88, 92, 76]
for rank, score in enumerate(scores, start=1):
  print(f"第{rank}名:{score}分")
# 输出:
# 第1名:88分
# 第2名:92分
# 第3名:76分

生成数字列表的快捷方法:range() 和 list()

不用手写 [1,2,3,4,5],用 range() 可以轻松生成等差数字序列。

  • range(stop) → 从 0 到 stop−1,如 list(range(5))[0,1,2,3,4]
  • range(start, stop) → 从 start 到 stop−1,如 list(range(2, 6))[2,3,4,5]
  • range(start, stop, step) → 加步长,如 list(range(0, 10, 2))[0,2,4,6,8]
  • 注意:range 本身不生成列表,是可迭代对象;要转成列表才支持索引、len等操作

基本上就这些。遍历不复杂,但容易忽略细节——比如该用索引时用了值,或该用enumerate却硬套range。多练几次,自然就顺了。