gpt4 book ai didi

python - 迭代列表并在比较后删除元素

转载 作者:行者123 更新时间:2023-12-01 08:50:00 25 4
gpt4 key购买 nike

我正在尝试迭代数字列表并删除低于我用来比较的数字的值。

我的问题是有一个数字低于我使用的值,但它没有被删除。

我正在使用remove()列表的功能,但我不知道为什么它没有被删除

这是我的代码:

def remove_lower_numbers(array_numbers, bigger_number):
for elem in array_numbers:
if elem <= bigger_number:
array_numbers.remove(elem)
print(array_numbers)

如果我使用这样的列表理解,它就会起作用:

array_numbers = [x for x in array_numbers if x >= bigger_number]

但出于学习目的,我想按照我首先提到的方式进行操作

我这样调用该函数:

cards_array = [3, 2, 7]
remove_lower_numbers(cards_array, 8)

但是函数打印:

[2]

并且 2 小于 8 它应该返回 None或一个空列表。

最佳答案

使用过滤器,仅保留为 lambda 函数返回True 的值:

list(filter(lambda x: x > 3, [1, 2, 3, 4, 5, 2, 3]))

输出:

[4, 5]

关于python - 迭代列表并在比较后删除元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53163662/

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