gpt4 book ai didi

Python:在单行中打破for循环 for loop & performance of single line vs block-code

转载 作者:行者123 更新时间:2023-11-28 21:08:20 32 4
gpt4 key购买 nike

我有以下代码,我想知道是否可以将它转换为单行循环?

for a,b in myList :
sth = calcSth(a, b)
if sth > 60 :
return True

return False

另一个问题是:单行for循环和block-code for循环在性能上有什么区别吗?

最佳答案

你可以用这个 oneliner 替换你的整个循环(当在单行上使用 if 时,这真的是一个 oneliner 吗?):

if any(calcSth(a,b)>60 for a,b in myList): return True

any 将在 a,b 匹配条件时立即停止测试。

此外,根据您上次的编辑,如果您计划在没有任何匹配项的情况下在循环后立即返回 False,则可以通过以下方式替换整个例程:

return any(calcSth(a,b)>60 for a,b in myList)

编辑:关于性能,我做了一个快速测试,正如预测的那样,使用我提供的输入数据(35 个项目和最后的匹配条件,一种“最坏的情况”)。如果匹配条件在列表的开头,则两种构造之间的差异非常小。

关于Python:在单行中打破for循环 for loop & performance of single line vs block-code,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40183320/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com