IF语句重复元素

时间:2019-04-24 22:38:43

标签: python if-statement

我有一个有趣的问题: 假设我们有lst = [1,2,3,4,5,5,5,5,5,6,7,8] 我有兴趣说语句是否仅返回 3rd 5的结果。
例如:

for i in range(0,lent(lst)):
   if lst[i]==5:
      print(i,"is index of 1st 5")
      break

但是怎么说要问是否在没有附加参数或列表的情况下显示3rd 5的索引?

3 个答案:

答案 0 :(得分:0)

这应该符合您的需求

counter = 0
for item in lst:
    if item == 5:
        counter += 1
    if counter >= 3:
        break

答案 1 :(得分:0)

您可以在列表上使用枚举并获取所需元素的所有索引,然后获取所需的任何索引

lst = [1,2,3,4,5,5,5,5,5,6,7,8]
occurances = [idx for idx, val in lst if val == 5]
occurances[0] # first occurance
occurances[1] # second occurance
occurances[2] # third occurance 

答案 2 :(得分:0)

juanpa.arrivillaga已经指出了通常的解决方案。
但是,例如numpy,您还可以使用另一种方法:

5

cnt5是布尔数组的累积总和,仅在lst具有3的索引处才为True,即:它是lst的5的计数器的数组。
然后,您只需要该数组为.img-bg { background: url("https://via.placeholder.com/1600") } .color-bg { background: green; text-align: right; } .row>div { height: 100vh; }的索引。