1

我希望在 Python 中实现以下简单算法。这是它的伪代码。

for elem in myList:
    if only one elem satisfies myCondition:
        returns it
    if more than one satisfies myCondition:
        randomly return one out of them
    if none satisfies myCondition:
        randomly return any one

我当然可以用 C 风格的代码片段来实现它。但我在这里寻找最 Pythonic 的方式

4

1 回答 1

10
return random.choice(filter(myCondition, myList) or myList)
于 2013-09-22T09:22:53.600 回答