如何使这成为列表理解

jay*_*jay 2 python list-comprehension

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

for i in range(len(genes)):
    if compareGenes(genes[i], target) > count:
        best = genes[i]
        count = compareGenes(genes[i], target) 
Run Code Online (Sandbox Code Playgroud)

nne*_*neo 5

max 使用生成器理解将是一个很好的方法.

count, best = max((compareGenes(k, target), k) for k in genes)
Run Code Online (Sandbox Code Playgroud)

或者,使用key参数max:

best = max(genes, key=lambda k: compareGenes(k, target))
Run Code Online (Sandbox Code Playgroud)