我正在尝试在 python 列表中选择一些元素。该列表表示一些其他元素的大小分布,因此它包含多个重复值。
在此列表中找到平均值后,我想选择那些值介于该平均值附近的上限和下限之间的元素。我可以轻松做到这一点,但它选择了太多元素(主要是因为我必须使用的分布非常均匀)。因此,我希望能够选择选择值的范围,但也将搜索范围限制为低于平均值的 5 个元素和高于平均值的 5 个元素。
我将添加我的代码(非常简单)。
avg_lists = sum_lists/len(lists)
num_list = len(list)
if (int(num_comm/10)%2 == 0):
window_size = int(num_list/10)
else:
window_size = int(num_list/10)-1
out_file = open('chosenLists', 'w+')
chosen_lists = []
for list in lists:
if ((len(list) >= (avg_lists-window_size)) & (len(list)<=(avg_lists+window_size))):
chosen_lists.append(list)
out_file.write("%s\n" % list)