📌  相关文章
📜  Python – 每个 List 元素在另一个中出现的总和

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

Python – 每个 List 元素在另一个中出现的总和

有时,在使用Python时,我们可能会遇到需要在另一个元素中出现 1 个元素的问题。但是作为对此的修改,我们可能会遇到一个问题,我们需要计算一个列表中所有元素在另一个列表中的出现次数。让我们讨论可以执行此任务的某些方式。

方法#1:使用嵌套循环
这是可以执行此任务的方式之一。这是可以执行此任务的蛮力方式。在此,我们迭代一个列表然后目标列表,如果元素匹配,我们增加计数器。

# Python3 code to demonstrate 
# Sum of each List element occurrence in another
# using nested loops
  
# Initializing lists
test_list1 = [1, 3, 4, 5, 1, 4, 4, 6, 7]
test_list2 = [4, 6, 1]
  
# printing original lists
print("The original list 1 is : " + str(test_list1))
print("The original list 2 is : " + str(test_list2))
  
# Sum of each List element occurrence in another
# using nested loops
res = 0
for ele in test_list2:
    for ele1 in test_list1:
        if ele1 == ele:
            res = res + 1
  
# printing result 
print ("The occurrence count : " + str(res))
输出 :
The original list 1 is : [1, 3, 4, 5, 1, 4, 4, 6, 7]
The original list 2 is : [4, 6, 1]
The occurrence count : 6

方法#2:使用sum() + count()
上述方法的组合可用于执行此特定任务。这是上述方法的一种替代方案。在这个计数中使用 count() 完成,使用 sum() 进行累加。

# Python3 code to demonstrate 
# Sum of each List element occurrence in another
# using sum() + count()
  
# Initializing lists
test_list1 = [1, 3, 4, 5, 1, 4, 4, 6, 7]
test_list2 = [4, 6, 1]
  
# printing original lists
print("The original list 1 is : " + str(test_list1))
print("The original list 2 is : " + str(test_list2))
  
# Sum of each List element occurrence in another
# using sum() + count()
res = sum(test_list1.count(idx) for idx in test_list2)
  
# printing result 
print ("The occurrence count : " + str(res))
输出 :
The original list 1 is : [1, 3, 4, 5, 1, 4, 4, 6, 7]
The original list 2 is : [4, 6, 1]
The occurrence count : 6