📌  相关文章
📜  Python|获取大于 K 的第一个元素的索引

📅  最后修改于: 2022-05-13 01:55:10.598000             🧑  作者: Mango

Python|获取大于 K 的第一个元素的索引

Python列表操作总是需要简写,因为它们在开发中的许多地方都使用过。因此,了解它们总是很有用的。
让我们处理找到一个这样的实用程序,即第一个元素的索引大于 K 的单线。有多种方法可以实现这一点。

方法 #1:使用next() + enumerate()
使用next()将迭代器返回到一直使用enumerate()的元素。我们简单地为 enumerate 设置条件,然后next()选择适当的元素索引。

# Python3 code to demonstrate 
# to find index of first element just 
# greater than K 
# using enumerate() + next()
  
# initializing list
test_list = [0.4, 0.5, 11.2, 8.4, 10.4]
  
# printing original list
print ("The original list is : " + str(test_list))
  
# using enumerate() + next() to find index of
# first element just greater than 0.6 
res = next(x for x, val in enumerate(test_list)
                                  if val > 0.6)
  
# printing result
print ("The index of element just greater than 0.6 : "
                                           + str(res))
输出:
The original list is : [0.4, 0.5, 11.2, 8.4, 10.4]
The index of element just greater than 0.6 : 2


方法 #2:使用filter() + lambda
使用 filter 和 lambda 也可以帮助我们完成这个特定的任务,下标索引值 0 用于指定必须采用大于 value 的第一个元素。

# Python3 code to demonstrate 
# to find index of first element just 
# greater than K 
# using filter() + lambda
  
# initializing list
test_list = [0.4, 0.5, 11.2, 8.4, 10.4]
  
# printing original list
print ("The original list is : " + str(test_list))
  
# using filter() + lambda
# to find index of first element just 
# greater than 0.6 
res = list(filter(lambda i: i > 0.6, test_list))[0]
  
# printing result
print ("The index of element just greater than 0.6 : "
                          + str(test_list.index(res)))
输出:
The original list is : [0.4, 0.5, 11.2, 8.4, 10.4]
The index of element just greater than 0.6 : 2


方法 #3:使用map() + index()
map()连同index()也可以返回所需的元素索引,并且具有与上面讨论的方法 1 类似的内部工作。

# Python3 code to demonstrate 
# to find index of first element just 
# greater than K 
# using map() + index()
  
# initializing list
test_list = [0.4, 0.5, 11.2, 8.4, 10.4]
  
# printing original list
print ("The original list is : " + str(test_list))
  
# using map() + index()
# to find index of first element just 
# greater than 0.6 
res = list(map(lambda i: i> 0.6, test_list)).index(True)
  
# printing result
print ("The index of element just greater than 0.6 : "
                                           + str(res))
输出:
The original list is : [0.4, 0.5, 11.2, 8.4, 10.4]
The index of element just greater than 0.6 : 2