[英]How do I remove items from a list that meet a criteria
I am attempting to identify if an item is even and then removing them from any list and printing the new list我试图确定一个项目是否是偶数,然后将它们从任何列表中删除并打印新列表
def remove_evens(my_list):
if item in my_list 0 % 2 == 0:
# how do I remove the specified items?
return list
Try this:尝试这个:
numbers = [10, 20, 3, 15, 1000, 60, 16]
removed_evens = list(filter(lambda n: n % 2 != 0, numbers))
print(removed_evens)
And function form:和 function 表格:
def removed_evens(numbers):
return list(filter(lambda n: n % 2 != 0, numbers))
Another logic:另一个逻辑:
def removed_evens(numbers):
results = []
for number in numbers:
if number % 2 != 0:
results.append(number)
return results
Which can be reduced to:可以简化为:
def removed_evens(numbers):
return [number for number in numbers if number % 2 != 0]
Or even more minimal:或者更小:
removed_evens = lambda numbers: [number for number in numbers if number % 2 != 0]
def remove_evens(my_list):
for item in my_list:
if item %2 == 0:
my_list.remove(item)
return my_list
my_list = [1,2,3,4,5,6]
remove_evens(my_list)
print(my_list)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.