gpt4 book ai didi

python - 我只想返回列表中的奇数

转载 作者:太空宇宙 更新时间:2023-11-04 08:00:04 24 4
gpt4 key购买 nike

我的问题是代码正确地过滤掉了偶数,这正是我想要的,但是它在 7 处停止并且不显示数字 9,这正是我希望它做的。我试过检查我的代码,但我似乎找不到问题

def remove_even(numbers) :
new_list = []
for i in range(0,len(numbers)-1) :
if i % 2 != 0 :
new_list.append(i)
return new_list
l = [1,2,3,4,5,6,7,8,9,10]
print(remove_even(l))

最佳答案

你应该直接循环遍历你的值而不是索引

for i in numbers:

否则,如果您想使用 range,则必须索引到您的 list

for i in range(0, len(numbers)):
if numbers[i] % 2 != 0 :
new_list.append(numbers[i])

为简洁起见,列表理解非常适合此类任务

>>> new_list = [num for num in l if num % 2 == 1]
>>> new_list
[1, 3, 5, 7, 9]

关于python - 我只想返回列表中的奇数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41676212/

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