簡體   English   中英

如何從列表中刪除符合條件的項目

[英]How do I remove items from a list that meet a criteria

我試圖確定一個項目是否是偶數,然后將它們從任何列表中刪除並打印新列表

def remove_evens(my_list):
    if item in my_list 0 % 2 == 0:
        # how do I remove the specified items?
    return list

嘗試這個:

numbers = [10, 20, 3, 15, 1000, 60, 16]
removed_evens = list(filter(lambda n: n % 2 != 0, numbers))
print(removed_evens)

和 function 表格:

def removed_evens(numbers):
    return list(filter(lambda n: n % 2 != 0, numbers))

另一個邏輯:

def removed_evens(numbers):
    results = []
    for number in numbers:
        if number % 2 != 0:
            results.append(number)
    return results

可以簡化為:

def removed_evens(numbers):
    return [number for number in numbers if number % 2 != 0]

或者更小:

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM