【问题标题】:How do I remove items from a list that meet a criteria如何从列表中删除符合条件的项目
【发布时间】:2022-02-19 22:11:30
【问题描述】:

我正在尝试确定一个项目是否是偶数,然后将它们从任何列表中删除并打印新列表

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

【问题讨论】:

标签: python list


【解决方案1】:
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)

【讨论】:

    【解决方案2】:

    试试这个:

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

    及函数形式:

    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]
    

    【讨论】:

      猜你喜欢
      • 2011-05-17
      • 2011-03-17
      • 2013-03-23
      • 2020-12-07
      • 2013-01-17
      • 1970-01-01
      • 1970-01-01
      • 2013-06-30
      相关资源
      最近更新 更多