返回与条件匹配的列表子集

2024-10-05 12:28:56 发布

您现在位置:Python中文网/ 问答频道 /正文

假设我有一个ints的列表:

listOfNumbers = range(100)

我想返回满足特定条件的元素列表,比如:

def meetsCondition(element):
    return bool(element != 0 and element % 7 == 0)

在一个list元素中返回一个亚list元素的方法是什么meetsCondition(element)True

天真的做法:

def subList(inputList):
    outputList = []

    for element in inputList:
        if meetsCondition(element):
            outputList.append(element)

    return outputList

divisibleBySeven = subList(listOfNumbers)

有没有一种简单的方法可以做到这一点,也许有一个列表理解或set()函数,而没有临时的outputList?


Tags: 方法元素列表returndefrangeelementlist
1条回答
网友
1楼 · 发布于 2024-10-05 12:28:56

使用列表理解

divisibleBySeven = [num for num in inputList if num != 0 and num % 7 == 0]

或者也可以使用meetsCondition

divisibleBySeven = [num for num in inputList if meetsCondition(num)]

实际上,您可以使用Python的truthy语义编写相同的条件,如下所示

divisibleBySeven = [num for num in inputList if num and num % 7]

或者,可以将filter函数与meetsCondition一起使用,如下所示

divisibleBySeven = filter(meetsCondition, inputList)

相关问题 更多 >

    热门问题