📜  Python| K值指数产品

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

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