📌  相关文章
📜  Python|元素索引总和

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

Python|元素索引总和

通常,我们需要找到特定值所在的索引总和。有很多方法可以实现这一点,使用 index() 等。但有时需要找到特定值的所有索引,以防它在列表中多次出现。让我们讨论一些这样做的方法。

方法 #1:朴素方法 + sum()
我们可以通过遍历列表并检查该值来完成此任务,然后将值索引附加到新列表中并打印出来。这是完成此任务的基本蛮力方法。 sum() 用于执行列表的总和。

# Python code to demonstrate 
# Element indices Summation
# using naive method + sum()
  
# initializing list 
test_list = [1, 3, 4, 3, 6, 7]
  
# printing initial list 
print ("Original list : " + str(test_list))
  
# using naive method
# Element indices Summation
# to find indices for 3
res_list = []
for i in range(0, len(test_list)) :
    if test_list[i] == 3 :
        res_list.append(i)
res = sum(res_list)
  
# printing resultant list 
print ("New indices summation : " + str(res))
输出 :
Original list : [1, 3, 4, 3, 6, 7]
New indices summation : 4

方法 #2:使用列表理解 + sum()
列表推导只是实现蛮力任务的速记技术,只需使用较少的代码行即可完成任务,从而节省了程序员的时间。 sum() 用于执行列表的总和。

# Python code to demonstrate 
# Element indices Summation
# using list comprehension + sum()
  
# initializing list 
test_list = [1, 3, 4, 3, 6, 7]
  
# printing initial list 
print ("Original list : " + str(test_list))
  
# using list comprehension + sum()
# Element indices Summation
# to find indices for 3
res_list = [i for i in range(len(test_list)) if test_list[i] == 3]
res = sum(res_list)
  
# printing resultant list 
print ("New indices summation : " + str(res))
输出 :
Original list : [1, 3, 4, 3, 6, 7]
New indices summation : 4