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