求助:理解使用enumerate遍历列表的for循环运行逻辑
搞懂这个Python循环的输出逻辑
别着急,咱们一步步拆解开这个循环,就能明白每一步的输出是怎么来的了!
首先,enumerate(lst) 会给你返回**(索引值, 对应元素)**的配对,所以每次循环里:
num是当前元素的索引(从0开始递增)b是当前索引对应的列表元素值(也就是你说的print(b)会输出的内容)
而代码里执行的是 print(lst[b])——这里的关键是,用当前元素的值b作为新的索引,去列表lst里取对应的元素!
咱们对着你的列表 lst = [-2, 0, 4, 5, 1, 2] 逐个循环走一遍:
- 第1次循环:num=0,b=-2 → lst[-2]是列表倒数第二个元素(Python支持负数索引,-1是最后一个,-2就是倒数第二个),也就是
1 - 第2次循环:num=1,b=0 → lst[0]是列表第一个元素,也就是
-2 - 第3次循环:num=2,b=4 → lst[4]是索引4对应的元素,也就是
1 - 第4次循环:num=3,b=5 → lst[5]是索引5对应的元素,也就是
2 - 第5次循环:num=4,b=1 → lst[1]是索引1对应的元素,也就是
0 - 第6次循环:num=5,b=2 → lst[2]是索引2对应的元素,也就是
4
把这些结果按顺序连起来,就是你看到的输出:1 -2 1 2 0 4啦!
内容的提问来源于stack exchange,提问作者Christian
相关产品推荐
相关产品推荐

