【3-12】为什么采用倒序的方式能够解决删除时的覆盖问题
list_1 = [3, 6, 8, 9, 25, 36, 100, 105]
for item in list_1[::-1]:
if (item%2==0):
print(item)
list_1.remove(item)
print(list_1)
print("--------")
print(list_1)
老师,
我没有明白为什么这里采用倒序的方式可以解决删除列表内元素时的覆盖问题
不明白for循环内部是如何遍历list_1[::-1]这个iterable的。
18
收起
正在回答
1回答
同学,你好!下面分别回答同学的两个问题:
1. 倒序:当执行到100时满足条件删除后,105会覆盖掉100的位置,是因为倒序,会继续向前判断,并不会覆盖没判断的元素,所以不会影响
2. for循环,打印出倒叙的顺序,105是奇数,不可以被2整除,则打印输出,100是偶数,可以被2整除,则remove移出100,以此类推,同学可结合下面代码示例进行理解:
祝:学习愉快!
Python全栈工程师2020
- 参与学习 人
- 提交作业 5211 份
- 解答问题 2433 个
Facebook曾声称“只招全栈工程师”!全栈用人需求猛增,市面人才紧缺。 0基础进击Python全栈开发,诱人薪资在前方!
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星