【发布时间】:2015-08-06 00:47:35
【问题描述】:
我已经编写了一个可以完成这项工作的函数,但是它看起来特别难看。 你能给我一些建议让它更pythonic吗? 首先,我从我的数据库中获取一些数据(通过 extractData)。然后我必须在计算完之后对每一个长度进行检查。
因此,我想计算所有持续时间少于 x 天的事件,并通过 bar 将其绘制到 matplotlib 中。
感谢您的帮助。
import numpy as np
listAct,less1,less2,less3,less4,less5,less6,less7,less8,less9=[],0,0,0,0,0,0,0,0,0
less10,less11,less12,less13,less14,sup14=0,0,0,0,0,0
for pos,rem in np.array(db.extractData(mess)):
act = gen.unixTime_to_dateTime(rem)- gen.unixTime_to_dateTime(pos)
lenAct = act.days +act.seconds/float(86400)
if lenAct < 1:
less1+=1
elif lenAct<2:
less2+=1
elif lenAct<3:
less3+=1
elif lenAct<4:
less4+=1
elif lenAct<5:
less5+=1
elif lenAct<6:
less6+=1
elif lenAct<7:
less7+=1
elif lenAct<8:
less8+=1
elif lenAct<9:
less9+=1
elif lenAct<10:
less10+=1
elif lenAct<11:
less11+=1
elif lenAct<12:
less12+=1
elif lenAct<13:
less13+=1
elif lenAct<14:
less14+=1
else:
sup14+=1
listAct.append(lenAct)
study=[less1,less2,less3,less4,less5,less6,less7,less8,less9,less10,less11]
plt.bar(range(1,12),study)
plt.show()
【问题讨论】:
标签: list python-2.7 numpy matplotlib