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 次瀏覽

開啟您的職業生涯

完成課程獲得認證

開始學習
廣告
© . All rights reserved.