如何使用列表中的数字作为比较基准

How to use a number in a list as a bench mark for comparison

我已经写了一些代码,但想让它更简单。

我如何才能从我的列表中提取所需的整数,而无需所有额外的代码行将其转换为整数,以便我可以在我的 if 语句中使用它?

def nextRound(k,scores):
    count = 0
    integers = scores[k-1:k]
    strings = [str(integer) for integer in integers]
    a_string = "".join(strings)
    an_integer = int(a_string)
    for i in scores:
        if i > 0 and i >= an_integer:
            count += 1
    return count

print(nextRound(2,[1,1,1,1]))

这里是问题的说明:

“如果参赛者的分数等于或大于第k名,则如果自己的分数大于0,则晋级下一轮”。所以写一个函数 nextRound(k,scores) 来计算有多少参赛者进入下一轮。

这完成了同样的事情,我认为您可能将 int 列表与其成员的数据类型列表混淆了:

def nextRound(k,scores):
    count = 0
    integer = scores[k]
    for i in scores:
        if i > 0 and i >= integer:
            count += 1
    return count

print(nextRound(2,[1,1,1,1]))

运行 这给出了 4 的预期输出。这确实假设分数是预先排序的。