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


在使用列表进行数据分析的过程中,我们经常会遇到需要找出给定元素在给定列表中是否至少出现了N次的情况。例如,数字5是否在列表中至少出现了三次。在本文中,我们将介绍两种实现此目标的方法。

计数出现次数

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

示例

listA = [1, 3, 5, 5, 4, 5]
# Given list
print("Given list: ",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)

运行以上代码,得到以下结果:

输出

Given list: [1, 3, 5, 5, 4, 5]
Does 5 occur atleast 3 times ? : True

使用Islice和next

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

示例

from itertools import islice
listA = [2, 11, 9,2, 4, 2]
# Given list
print("Given list: ",listA)
# element to be checked
elem = 2
# Number of occurrences
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)

运行以上代码,得到以下结果:

输出

Given list: [2, 11, 9, 2, 4, 2]
Does 2 occur atleast 3 times ? : True

更新于:2020年12月28日

270 次浏览

开启您的职业生涯

完成课程获得认证

开始学习
广告