Python数据处理之二惰性函数

Python数据处理之二惰性函数

lst_1=[10,10,11,12,11,13,14,15]
for i in lst_1:
if i==10:
lst_1.remove(i)
print(lst_1)

执行结果为
[10, 11, 12, 11, 13, 14, 15]

程序本意是想除去lst_1中的10。但是没有实现,是为什么呢?
因为remove 不是惰性函数,会立即执行,所以当i=2时,lst_1已经修改,第二个10已经跑到索引1的位置,此时i=2,无法删除连续的相同元素

Guess you like

Origin blog.csdn.net/buaaweibin/article/details/120930595