Python| K值指数产品
通常,我们需要找到特定值所在的索引。有很多方法可以实现这一点,使用 index() 等。但有时需要找到特定值的所有索引,以防它在列表中多次出现并计算它们的乘积。让我们讨论一些这样做的方法。
方法#1:朴素的方法
我们可以通过遍历列表并检查该值来完成此任务,然后将值索引附加到新列表中并打印出来。这是完成此任务的基本蛮力方法。执行产品的任务是循环完成的。
# Python code to demonstrate
# K Value Indices Product
# using naive method
# initializing list
test_list = [1, 3, 4, 3, 6, 7, 3]
# printing initial list
print ("Original list : " + str(test_list))
# initializing K
K = 3
# using naive method
# K Value Indices Product
res = 1
for i in range(0, len(test_list)) :
if test_list[i] == K :
res *= i
# printing resultant list
print ("K Value indices product is : " + str(res))
输出 :
Original list : [1, 3, 4, 3, 6, 7, 3]
K Value indices product is : 18
方法 #2:使用enumerate()
+ 循环
使用 enumerate() 我们可以完成类似的任务,这比上面的技术稍快,因此建议在列表理解技术上使用。执行产品的任务是循环完成的。
# Python code to demonstrate
# K Value Indices Product
# using enumerate()
# getting Product
def prod(val) :
res = 1
for ele in val:
res *= ele
return res
# initializing list
test_list = [1, 3, 4, 3, 6, 7, 3]
# printing initial list
print ("Original list : " + str(test_list))
# initializing K
K = 3
# using enumerate()
# K Value Indices Product
res = prod([i for i, value in enumerate(test_list) if value == K])
# printing resultant list
print ("K Value indices product is : " + str(res))
输出 :
Original list : [1, 3, 4, 3, 6, 7, 3]
K Value indices product is : 18