2

我如何将其写为列表理解?

for i in range(len(genes)):
    if compareGenes(genes[i], target) > count:
        best = genes[i]
        count = compareGenes(genes[i], target) 
4

1 回答 1

5

max使用生成器理解将是一个不错的方法。

count, best = max((compareGenes(k, target), k) for k in genes)

或者,使用key参数来max

best = max(genes, key=lambda k: compareGenes(k, target))
于 2012-10-19T03:55:04.457 回答