有一个长度为20的列表ls,其中的元素为1至100的随机整数,请将列表中的数按大小分为两组,(以均值为标准,),并按升序分别打印输出
如有用请采纳
import numpy as np
l = np.random.randint(100,size=20)+1
m = l.mean()
l1 = []
l2 = []
for i in l:
if i > m:
l1.append(i)
else:
l2.append(i)
l1 = np.array(l1)
l1 = np.sort(l1)
l2 = np.array(l2)
l2 = np.sort(l2)
for i in range(len(l2)-1):
print(l2[i])
for i in range(len(l1)-1):
print(l1[i])
用KMEANS聚类
或者大津法(OTSU)求类间阈值
没看懂题意,到底是一维数组还是二维数组,按前边理解应该是一维数组,但后后边又有均值的说法,看起来又像二维数组
import random
def run(n=20):
number_list = [random.randint(1, 100) for i in range(n)]
mean = sum(number_list) / n
max_list = []
min_list = []
for i in number_list:
if i > mean:
max_list.append(i)
elif i < mean:
min_list.append(i)
max_list.sort()
min_list.sort()
print("mean:", mean, "\n", "max:", min_list, '\n', "min:", max_list)
按照题目的意思,就是将这个列表分为两组数据,分割标准是这个列表的均值,以这个为界限进行划分。