Pythonic这样做的方式?

时间:2013-09-22 09:20:22

标签: python

我希望在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风格的代码段中实现它。但我在这里寻找最恐怖的方式

1 个答案:

答案 0 :(得分:10)

return random.choice(filter(myCondition, myList) or myList)