在Python中查找列表中至少出现了k次的元素的程序
假设我们有一个名为nums的元素列表和一个值k。我们必须找到那些至少出现了k次的元素。
因此,如果输入类似于nums=[2,5,6,2,6,1,3,6,3,8,2,5,9,3,5,1]和k=3,则输出将为[2、5、6、3]。
为了解决这个问题,我们将按照以下步骤进行 –
- ➔ c:包含nums中每个元素出现频率的列表
- ➔ res:一个新的列表
- 对于c中的每个键n,进行以下操作
- 如果c[n]≥k,则
- 将n插入到res的末尾
- 如果c[n]≥k,则
- 返回res
示例
让我们看以下实现以更好地理解 –
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))
输入
[2,5,6,2,6,1,3,6,3,8,2,5,9,3,5,1],3
输出
[2,5,6,3]