Python-检查k是否在列表中至少出现n次

在使用列表进行数据分析的过程中,很多时候我们遇到一种情况,即需要确定给定元素在给定列表中是否存在至少N次。例如,如果5在列表中至少存在3次,则不存在。在本文中,我们将介绍两种实现方法。

计数发生次数

在以下方法中,我们将数字及其出现次数作为输入。然后,我们的设计师将跟踪发生的次数。如果计数值大于或等于所需值,则将结果打印为true或false。

示例

listA = [1, 3, 5, 5, 4, 5]
# 给定列表
print("给定列表: ",listA)
# element ot be checked
elem = 5
# Number of occurences
N = 3
res = 0
for e in listA:
   if e == elem:
      res = res + 1
      if res >= N:
         res = True
   else:
         res = False
# printing result
print("Does %d occur atleast %d times ? :" % (elem, N),res)

运行上面的代码给我们以下结果-

输出结果

给定列表: [1, 3, 5, 5, 4, 5]
Does 5 occur atleast 3 times ? : True

使用Islice和next

在这种方法中,我们创建了一个新列表,其中包含原始列表中的给定编号。此新列表将所有出现的给定数字标记为true。然后,我们设计一个islice方法,该方法将计算新列表中是否存在所需数量的True值。因此,所需值的数量为Mark的true或false。

示例

from itertools import islice
listA = [2, 11, 9,2, 4, 2]
# 给定列表
print("给定列表: ",listA)
# element to be checked
elem = 2
# 出现次数
N = 3
elem_list = []
# Create
for i in listA:
   if i == elem:
      elem_list.append(True)
res = next(islice(elem_list, N-1, None), False)
# printing result
print("Does %d occur atleast %d times ? :" % (elem, N),res)

运行上面的代码给我们以下结果-

输出结果

给定列表: [2, 11, 9, 2, 4, 2]
Does 2 occur atleast 3 times ? : True
猜你喜欢