Computer >> Máy Tính >  >> Lập trình >> Python

Chương trình tìm các phần tử từ danh sách đã xảy ra ít nhất k lần trong Python

Giả sử chúng ta có một danh sách các phần tử được gọi là nums và một giá trị k. Chúng ta phải tìm những phần tử đã xảy ra ít nhất k số lần.

Vì vậy, nếu đầu vào giống như nums =[2,5,6,2,6,1,3,6,3,8,2,5,9,3,5,1] k =3, thì đầu ra sẽ là [2, 5,6, 3]

Để giải quyết vấn đề này, chúng tôi sẽ làm theo các bước sau -

  • c:=danh sách chứa tần số của từng phần tử có trong nums
  • res:=một danh sách mới
  • đối với mỗi khóa n trong c, thực hiện
    • nếu c [n]> =k, thì
      • chèn n vào cuối res
  • trả lại res

Ví dụ

Hãy cùng chúng tôi xem cách triển khai sau để hiểu rõ hơn -

from collections import Counter

def solve(nums, k):
   c = Counter(nums)
   res = []
   for n in c:
      if c[n] >= k:
         res.append(n)
   return res

nums = [2,5,6,2,6,1,3,6,3,8,2,5,9,3,5,1]
k = 3
print(solve(nums, k))

Đầu vào

[2,5,6,2,6,1,3,6,3,8,2,5,9,3,5,1], 3

Đầu ra

[2, 5, 6, 3]