您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

是否有更多的pythonic方法来编写只更新变量的while循环?

5b51 2022/1/14 8:23:17 python 字数 866 阅读 571 来源 www.jb51.cc/python

我有这个while循环,我想知道它们是否是一种更加 pythonic的方式来编写它: k = 1 while np.sum(s[0:k]) / s_sum < retained_variance: k += 1 s是一个numpy向量.谢谢! 可能不是最有效的解决方案,但如果需要搜索大多数阵列,则速度很快: import numpy as np ss = np.cumsum(s) #

概述

k = 1
while np.sum(s[0:k]) / s_sum < retained_variance:
    k += 1

s是一个numpy向量.谢谢!

import numpy as np

ss = np.cumsum(s)  # array with cumulative sum
k = ss.searchsorted(retained_variance*s_sum) # exploit that ss is monotonically increasing

编辑:西蒙指出

k = np.cumsum(s).searchsorted(retained_variance*s_sum) + 1

是与问题对应的值.

总结

以上是编程之家为你收集整理的是否有更多的pythonic方法来编写只更新变量的while循环?全部内容,希望文章能够帮你解决是否有更多的pythonic方法来编写只更新变量的while循环?所遇到的程序开发问题。


如果您也喜欢它,动动您的小指点个赞吧

除非注明,文章均由 laddyq.com 整理发布,欢迎转载。

转载请注明:
链接:http://laddyq.com
来源:laddyq.com
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


联系我
置顶