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
广告