H指数(h-index)的实现

H指数(h-index)的实现

某人的h指数是指在其发表的N篇论文中,有h篇论文分别被引用了至少h次,其余N-h篇的引用次数均不超过h次。例如:列表[6,5,6,5,5,4,3,5,6,2,1]表示某人发表的11篇论文,其中5篇论文的引用次数超过了5次的有7篇,(6篇论文的应用次数超过6次的没有,仅有3),所以h-index=5
做法:让其按被引次数从高到低排列,往下核对,直到某篇论文的序号大于该论文被引次数,那个序号减去1就是h指数。

def H_index(indexList):
    SortedSet = sorted(indexList, reverse = True)
    #print(SortedSet)   #注意使用列表,保留重复数据并排序
    flag = 1  #标识位,用来分析列表是否break过,防止[6,5,4] 问题出现,该列h-index 为3
    for i in range(0,len(SortedSet)):
        if i >=SortedSet[i]:
        	flag = 0
        	break
     t=i
     if flag:
         t=len(SortedSet)
    return t
test=[6,5,6,5,5,4,3,5,6,2,1]  #测试数据
print('H-index指数为:',H_index(test))
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值