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