将list中的元素按区间来分成n个区间:
代码:
def group_n(a,n):
l=len(a)
interval=(max(a)-min(a))/n#区间长度
section=[]#每个区间的范围
for i in range(n):
section.append([min(a)+i*interval,min(a)+(i+1)*interval])
divided_list=[[] for i in range(n)]
for i in range(l):
for j in range(n):
if section[j][0]<=a[i]<section[j][1]:
divided_list[j].append(a[i])
return divided_list
a=[3,4,2,1,5,6,7,5,5,4,4,5,4,4,3,5,6,6]
print('group is',group_n(a,3))
将a划分为三部分,结果显示如下
group is [[2, 1], [3, 4, 4, 4, 4, 4, 3], [5, 6, 5, 5, 5, 5, 6, 6]]