📜  Python - 相似的索引元素频率

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

Python - 相似的索引元素频率

有时,在使用Python列表时,我们可能会遇到一个问题,即我们需要检查一个元素是否在另一个列表中出现类似的索引。这可以在许多领域有可能的应用。让我们讨论可以执行此任务的某些方式。

方法 #1:使用sum() + zip()
上述功能的组合可用于执行此任务。在此,我们对将交叉列表压缩在一起后匹配的元素进行求和。

# Python3 code to demonstrate 
# Similar index elements frequency
# using sum() + zip()
  
# Initializing lists 
test_list1 = [1, 3, 5, 6, 8]
test_list2 = [4, 3, 6, 6, 10]
  
# printing original lists
print("The original list 1 is : " + str(test_list1))
print("The original list 2 is : " + str(test_list2))
  
# Similar index elements frequency
# using sum() + zip()
res = sum(x == y for x, y in zip(test_list1, test_list2))
  
# printing result 
print ("Number of elements having similar index : " + str(res))
输出 :
The original list 1 is : [1, 3, 5, 6, 8]
The original list 2 is : [4, 3, 6, 6, 10]
Number of elements having similar index : 2

方法 #2:使用列表理解 + enumerate()
上述功能的组合可用于执行此任务。在此,我们遍历列表中的每个元素并相应地增加总和。

# Python3 code to demonstrate 
# Similar index elements frequency
# using list comprehension + enumerate()
  
# Initializing lists 
test_list1 = [1, 3, 5, 6, 8]
test_list2 = [4, 3, 6, 6, 10]
  
# printing original lists
print("The original list 1 is : " + str(test_list1))
print("The original list 2 is : " + str(test_list2))
  
# Similar index elements frequency
# using list comprehension + enumerate()
res = len([key for key, val in enumerate(zip(test_list1, test_list2)) if val[0] == val[1]])
  
# printing result 
print ("Number of elements having similar index : " + str(res))
输出 :
The original list 1 is : [1, 3, 5, 6, 8]
The original list 2 is : [4, 3, 6, 6, 10]
Number of elements having similar index : 2