Python – 测试常用值是否大于 K
有时,在使用列表时,我们可能会遇到需要跟踪列表中常见元素的问题。这是很常见的,我们经常有结构来解决这个问题。但有时,如果两个列表包含至少 K 个匹配元素,我们需要将它们视为匹配。让我们讨论可以执行此操作的某些方式。
方法 #1:使用set() + len()
上述方法的组合可以用来解决这个任务。在此我们首先将每个列表转换为集合,然后使用 len() 检查匹配元素是否大于 K。
# Python3 code to demonstrate
# Test if common values are greater than K
# using len() + set()
# Initializing lists
test_list1 = ['Gfg', 'is', 'for', 'Geeks']
test_list2 = [1, 'Gfg', 2, 'Geeks']
# printing original lists
print("The original list 1 is : " + str(test_list1))
print("The original list 2 is : " + str(test_list2))
# Initializing K
K = 2
# Test if common values are greater than K
# using len() + set()
res = len(set(test_list1) & set(test_list2)) >= K
# printing result
print ("Are common elements greater than K ? : " + str(res))
输出 :
The original list 1 is : ['Gfg', 'is', 'for', 'Geeks']
The original list 2 is : [1, 'Gfg', 2, 'Geeks']
Are common elements greater than K ? : True
方法 #2:使用sum()
这是可以解决此问题的另一种方式。在这种情况下,我们只计算所有列元素并使用 sum() 对它们求和,然后使用 K 进行检查。
# Python3 code to demonstrate
# Test if common values are greater than K
# using sum()
# Initializing lists
test_list1 = ['Gfg', 'is', 'for', 'Geeks']
test_list2 = [1, 'Gfg', 2, 'Geeks']
# printing original lists
print("The original list 1 is : " + str(test_list1))
print("The original list 2 is : " + str(test_list2))
# Initializing K
K = 2
# Test if common values are greater than K
# using sum()
res = sum(i in test_list1 for i in test_list2) >= 2
# printing result
print ("Are common elements greater than K ? : " + str(res))
输出 :
The original list 1 is : ['Gfg', 'is', 'for', 'Geeks']
The original list 2 is : [1, 'Gfg', 2, 'Geeks']
Are common elements greater than K ? : True