我试图迭代一个数字列表,并删除低于我用来比较的数字的值。
我的问题是,有一个数字低于我使用的值,但它不会被删除。
我正在使用列表的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,则应当返回CCD_ 2或空列表。
使用filter
,它只为lambda函数保留返回True
的值:
list(filter(lambda x: x > 3, [1, 2, 3, 4, 5, 2, 3]))
输出:
[4, 5]