gpt4 book ai didi

Python 删除错误

转载 作者:行者123 更新时间:2023-12-01 04:47:11 27 4
gpt4 key购买 nike

我需要删除列表中的所有奇数,并返回结果。

例如,purify([1,2,3]) 应返回 [2]

我的功能是

def purify(num):

for x in num:
if x%2 != 0:
num.remove(x)

return num

对于 purify([4, 5, 5, 4]) 来说。当它应该返回 [4, 4] 时,它返回 [4, 5, 4]。

最佳答案

如果让我做这个功能,我的答案是这样的:

def purify(n):
new_array = []
for index in range(0, len(n)):
if n[index] % 2 != 0:
new_array.append(n[index])
return new_array

a = [4,5,5,4]
print purify(a)

接下来让我解释一下你的代码为什么会发生错误。

当你的for循环扫描每个元素时,工作流程如下:

  1. 循环扫描第一个索引时的第一步

     v
    [4,5,5,4]
  2. 第二步,循环扫描第二个索引。因为满足if-else条件,所以第二个索引被移除,第三个和第四个索引字体移动一个索引。

       v
    [4,5,5,4]
  3. 第三步,循环扫描第三个索引。

         v
    [4,5,4]

结果:[4,5,4]

这就是原因。第 5 个元素丢失,无法扫描。

关于Python 删除错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29189890/

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