为什么这个Python程序输出[0,1,4,9]?[关闭]

093gszye  于 2023-04-28  发布在  Python
关注(0)|答案(2)|浏览(105)

**关闭。**这个问题是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。

rdrgkggo

rdrgkggo1#

del关键字删除指定的索引。
所以在函数中,首先得到index 2的值:lst[2],即4
然后删除index 4处的值:del lst[4],即16
所以它应该打印输出:[0, 1, 4, 9]

qojgxg4l

qojgxg4l2#

使用Del关键字删除你想要删除的索引,如果你想删除元素4,然后找到它是4的索引,并传递该索引而不是元素的值,在这种情况下,索引是2,所以传递2而不是my_list[2],所以最终的代码是my_list = [x * x for x in range(5)] print(my_list)

def fun(lst):
    del lst[2]
    return lst
    
print(fun(my_list))

相关问题