python 统计列表中大于/小于某一阈值的元素个数/百分比

#输入列表a(或其他可迭代的序列或集合),y(阈值)
#输出计数和百分比
def LowerCount(a,b): 
    num = 0
    for i in a:
        if i<b: #可依需要修改条件
            num+=1
    percent = num/len(a)
    return num,percent
#调用
LowerCount(alist,80)




#或者,简短的:
len([i for i  in alist if i > 80])



#又或者,简短的:
sum(i>80 for i in alist)

进一步的:
#输入data(可迭代的序列或集合),number(阈值),operator(运算符’<’、>’、’=’)
#输出计数和百分比

def OperCount(data,number,operator): #compelete with a number
    num = 0
    if operator == '>':
        for i in data:
            if i > number:
                num+=1
    elif operator == '<':
        for i in data:
            if i < number:
                num+=1
    elif operator == '=':
        for i in data:
            if i == number:
                num+=1
    else:
        print('something wrong!')
    percent = num/len(data)
    return num,percent
#调用
OperCount(alist,80'<')

暂时搞不懂如何将运算符直接作为参数传递,以上就是个简单的循环,总觉得这样的运算应该有简单粗暴的函数直接使用的,然而找的时间还不如写的快= =如果你都看到我写的了,赶紧别找了哈哈哈哈(不过以防万一:找到的铁子请留言曝光那个函数!!)

猜你喜欢

转载自blog.csdn.net/weixin_43545069/article/details/105076649
今日推荐