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