我希望我的代码只在满足if条件时打印,然后清空数组以打印下一个结果
import numpy as np
r = [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
0.0, 0.000570290882095, 0.0107443912719, 0.0124509177244,
0.0125, 0.0125, 0.025, 0.025, 0.025,
0.025, 0.0256640229497, 0.030566379892, 0.031401430789,
0.0375, 0.0375, 0.0375, 0.0395298596851, 0.039780154486,
0.0438643740073, 0.0466295394557, 0.0480063782397, 0.05,
0.05, 0.068990534098, 0.0717060855612, 0.0737078626994,
0.0783505963591, 0.0875, 0.0875, 0.100794816139,
0.110492949738, 0.1125, 0.125, 0.125, 0.137197807346,
0.140625, 0.147676814534, 0.149311786297, 0.15, 0.15,
0.153789751195, 0.15653721735, 0.161158308383,
0.165614224138,0.165804856115, 0.181477147577, 0.186858748434, 0.2]
for binStartLoad in np.arange(0, 1, 0.05):
k = []
for i in range(len(r)):
if binStartLoad >= r[i] < binStartLoad + 0.05:
k.append(r[i])
print k
现在我的结果是:
[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]
[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
0.000570290882095, 0.0107443912719, 0.0124509177244, 0.0125, 0.0125,
0.025, 0.025, 0.025, 0.025, 0.0256640229497, 0.030566379892,
0.031401430789, 0.0375, 0.0375, 0.0375, 0.0395298596851,
0.039780154486, 0.0438643740073, 0.0466295394557,
0.0480063782397, 0.05, 0.05]
[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
0.000570290882095, 0.0107443912719, 0.0124509177244, 0.0125,
0.0125, 0.025, 0.025, 0.025, 0.025, 0.0256640229497,
0.030566379892, 0.031401430789, 0.0375, 0.0375, 0.0375,
0.0395298596851,0.039780154486, 0.0438643740073, 0.0466295394557,
0.0480063782397, 0.05, 0.05, 0.068990534098, 0.0717060855612,
0.0737078626994, 0.0783505963591, 0.0875, 0.0875] ans so on
但我希望我的结果是:
[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
0.000570290882095, 0.0107443912719, 0.0124509177244, 0.0125, 0.0125,
0.025, 0.025, 0.025, 0.025, 0.0256640229497, 0.030566379892,
0.031401430789, 0.0375, 0.0375, 0.0375, 0.0395298596851,
0.039780154486, 0.0438643740073, 0.0466295394557,
0.0480063782397]
[0.05, 0.05, 0.068990534098, 0.0717060855612, 0.0737078626994,
0.0783505963591, 0.0875, 0.0875]
[0.100794816139, 0.110492949738, 0.1125, 0.125, 0.125, 0.137197807346,
0.140625, 0.147676814534, 0.149311786297] and so on
您似乎想要的是将
r
拆分为宽度为0.05
的容器。一种更简单的方法是搜索断点索引:那么
bins
就是:空列表表示没有值的箱子。当然,在印刷阶段很容易摆脱这些问题:
但是,通常需要保留空的箱子,以避免弄乱索引。你知道吗
请注意,由于浮点舍入错误导致的边界情况(例如0.15)是不可预测的。(这里0.15的结果是错误的,因为
np.arange(0,1.01,0.05)[3] > 0.15
是True
。浮点数之间通常不存在“完全相等”的情况。)相关问题 更多 >
编程相关推荐