如何查找while循环的第三个条目

时间:2019-02-06 16:49:31

标签: python

对于数组x= np.random.uniform(low=0,high=50, size = 10000),使用while循环确定查找超过36的第三个条目所需的随机条目数。

我知道如何找到超过36的数字,但是我不确定如何找到超过36的数字。

i=0 
x= np.random.uniform(low=0,high=50, size = 10000)
while x[i] >= 36:
  i+=1 
print(i)

3 个答案:

答案 0 :(得分:1)

您可以将所有匹配的数字放入列表中,并在列表长度等于3时使while循环中断。列表的最后一个值是您的答案。

import numpy as np


x = np.random.uniform(low=0, high=50, size=10000)

i = 0
l = []
while len(l) < 3:
    if x[i] >= 36:
        l.append(x[i])
    i += 1

print l[-1]

答案 1 :(得分:0)

跟踪您已经看过36个,看过多少个项目:

num_occurances = 0
index = 0

while num_occurances != 3:
    if x[index] >= 36:
        num_occurances += 1
    index += 1
print(index)

答案 2 :(得分:0)

如果您不需要while循环进行其他任何操作,另一种解决方案可能就是屏蔽数组。

import numpy as np


def nth_exceed(x, n, exceed):
    y = x[x > exceed][n-1]
    return np.where(x==y)

x = np.random.uniform(low=0,high=50, size = 10000)

nth_exceed(x, 3, 36)