我正在寻找一种检查列表内容是否超过给定数字(第一个阈值)一定次数(第二个阈值)的干净且Python化的方法。如果两个语句都为真,则我想返回超出给定阈值的第一个值的索引。
例:
# Set first and second threshold
thr1 = 4
thr2 = 5
# Example 1: Both thresholds exceeded, looking for index (3)
list1 = [1, 1, 1, 5, 1, 6, 7, 3, 6, 8]
# Example 2: Only threshold 1 is exceeded, no index return needed
list2 = [1, 1, 6, 1, 1, 1, 2, 1, 1, 1]
最佳答案
我不知道滥用布尔值是整数的事实是否被认为是pythonic,但我喜欢这样
def check(l, thr1, thr2):
c = [n > thr1 for n in l]
if sum(c) >= thr2:
return c.index(1)
关于python - 检查列表中的值是否超过阈值一定次数,并返回第一次超过的索引,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39294564/