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 に答える