📜  Python| K出现元素测试

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

Python| K出现元素测试

开发人员或普通程序员在日常编码中会遇到许多常见问题。一个这样的问题是找出一个元素是否在列表中出现了一定次数。让我们讨论一些处理这个问题的方法。

方法 #1:使用sum() + 列表推导
列表推导可以与 sum函数结合以实现此特定任务。 sum函数执行求和部分,返回 true 的逻辑情况在列表理解部分处理。

# Python3 code to demonstrate 
# K occurrence element Test
# using sum() + list comprehension
  
# initializing list
test_list = [1, 3, 5, 5, 4, 5]
  
# printing original list
print ("The original list is : " + str(test_list))
  
# initializing k 
k = 3
  
# initializing N
N = 5
  
# using sum() + list comprehension
# K occurrence element Test 
res = 0
res = sum([1 for i in test_list if i == N]) == k
if res == 1 :
    res = True
else : 
    res = False
      
# printing result 
print ("Does N occur K times ? : " + str(res))
输出 :
The original list is : [1, 3, 5, 5, 4, 5]
Does N occur K times ? : True

方法 #2:使用next() + islice()
这两个功能可以一起使用,以比上述更有效的方式执行此特定任务。 islice函数将处理求和部分,next函数有助于迭代逻辑。

# Python3 code to demonstrate 
# K occurrence element Test
# using next() + islice()
from itertools import islice
  
# initializing list
test_list = [1, 3, 5, 5, 4, 5]
  
# printing original list
print ("The original list is : " + str(test_list))
  
# initializing k 
k = 3
  
# initializing N
N = 5
  
# using next() + islice()
# K occurrence element Test
func = (True for i in test_list if i == N)
res = next(islice(func, k - 1, None), False)
      
# printing result 
print ("Does N occur K times ? : " + str(res))
输出 :
The original list is : [1, 3, 5, 5, 4, 5]
Does N occur K times ? : True