**关闭。**这个问题是not reproducible or was caused by typos。目前不接受答复。
此问题是由打印错误或无法再重现的问题引起的。虽然类似的问题可能是on-topic在这里,这一个是解决的方式不太可能帮助未来的读者。
13小时前关闭
Improve this question
my_list = [x * x for x in range (5)]
def fun(lst):
del lst[lst[2]]
return lst
print(fun(my_list))
我试图理解这段代码是如何工作的,从我的理解来看,输出应该是[0, 1, 9, 16]
。对我来说,函数fun(lst)
删除了索引2中的值,当列表打印出来时,该值应该是4。
2条答案
按热度按时间rdrgkggo1#
del
关键字删除指定的索引。所以在函数中,首先得到
index 2
的值:lst[2]
,即4然后删除
index 4
处的值:del lst[4]
,即16所以它应该打印输出:
[0, 1, 4, 9]
qojgxg4l2#
使用Del关键字删除你想要删除的索引,如果你想删除元素4,然后找到它是4的索引,并传递该索引而不是元素的值,在这种情况下,索引是2,所以传递2而不是my_list[2],所以最终的代码是my_list = [x * x for x in range(5)] print(my_list)