gpt4 book ai didi

python - 这有效,但为什么?

转载 作者:太空狗 更新时间:2023-10-30 02:17:49 26 4
gpt4 key购买 nike

我在 codecademy 上学习 Python 并遇到了这个解决方案,该功能旨在从数字列表中删除重复项:

x = [1, 1, 2, 2]

def remove_duplicates(x):
p = []
for i in x:
if i != i:
p.append(i)
return i

我在 pycharm 中使用一些 print 语句运行它,得到一个空列表。我只是好奇,因为当我在脑海中这样做时,它没有任何意义,但 codecademy 接受这个作为答案。难道只是侥幸?或者这是我还不明白的水平?

最佳答案

你是对的:它没有任何意义。首先,它创建一个名为 p 的列表,该列表获取不等于自身的每个项目。据我所知,唯一不等于自身的对象是 NaN,但您没有这些,所以 p 只是一个空列表。然而,定义 p 是没有用的,因为它甚至没有被返回。返回的是i,它被赋值给最后的每一项,所以它是函数结束时列表中的最后一项。简而言之,该函数等同于:

def remove_duplicates(x):
return x[-1]

我还没有听说该函数应该返回什么,但也许它应该返回非重复项目的数量。如果是,它“起作用”只是因为列表中的最后一项恰好是非重复项的数量。

关于python - 这有效,但为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38987146/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com