📌  相关文章
📜  Python|列表中常见元素的计数

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

Python|列表中常见元素的计数

有时,在使用Python列表时,我们可能会遇到一个问题,即我们必须比较两个列表的索引相似性,因此可能需要计算相等的索引对。让我们讨论可以执行此任务的某些方式。

方法 #1:使用sum() + zip()
可以通过将执行两个列表相互映射任务的zip()传递给 sum() 来执行此任务,该sum()根据相等的索引计算总和。

# Python3 code to demonstrate working of
# Identical element summation in lists
# using sum() + zip()
  
# initialize lists
test_list1 = [5, 6, 10, 4, 7, 1, 19]
test_list2 = [6, 6, 10, 3, 7, 10, 19]
  
# printing original lists
print("The original list 1 is : " + str(test_list1))
print("The original list 2 is : " + str(test_list2))
  
# Identical element summation in lists
# using sum() + zip()
res = sum(x == y for x, y in zip(test_list1, test_list2))
  
# printing result
print("Summation of Identical elements : " + str(res))
输出 :
The original list 1 is : [5, 6, 10, 4, 7, 1, 19]
The original list 2 is : [6, 6, 10, 3, 7, 10, 19]
Summation of Identical elements : 4

方法#2:使用sum() + map() + eq
使用zip()在上述方法中执行的任务可以在这里使用执行类似任务的 map函数执行。可以通过内置的 eq运算符执行相等检查。

# Python3 code to demonstrate working of
# Identical element summation in lists
# using sum() + map() + eq
from operator import eq
  
# initialize lists
test_list1 = [5, 6, 10, 4, 7, 1, 19]
test_list2 = [6, 6, 10, 3, 7, 10, 19]
  
# printing original lists
print("The original list 1 is : " + str(test_list1))
print("The original list 2 is : " + str(test_list2))
  
# Identical element summation in lists
# using sum() + map() + eq
res = sum(map(eq, test_list1, test_list2))
  
# printing result
print("Summation of Identical elements : " + str(res))
输出 :
The original list 1 is : [5, 6, 10, 4, 7, 1, 19]
The original list 2 is : [6, 6, 10, 3, 7, 10, 19]
Summation of Identical elements : 4