首页 > 解决方案 > 在给定条件下附加多个列表的高效python代码?

问题描述

有没有更直接、更好的方法来实现下面的代码?它适用于它的目的,但我想了解专业人士将如何做到这一点。谢谢。

from numpy import array, log, exp, polyfit, poly1d

peaks = # some vector
n = len(peaks)
x, y = [], []
x60, y60 = [], []
x65, y65 = [], []
x70, y70 = [], []

for i in range(n):

   p = (i+1)/(n+1)
   x_value = log(peaks[i])
   y_value = log(-log(1-p))

   x.append(x_value)
   y.append(y_value)
        
   if p >= 0.6:
      x60.append(x_value)
      y60.append(y_value)           
   if p >= 0.65:
      x65.append(x_value)
      y65.append(y_value)            
   if p >= 0.7:
      x70.append(x_value)
      y70.append(y_value) 
   
m60, b60 = somefunction(x60, y60)
m65, b65 = somefunction(x65, y65)
m70, b70 = somefunction(x70, y70) 

m = (m60+m65+m70)/3
b = (b60+b65+b70)/3

标签: python-3.xlistappend

解决方案


推荐阅读