在 Python 中刪除頻率至多為 K 的元素
在從列表中操作資料時,我們可能會遇到根據元素頻率選擇性地從列表中刪除元素的情況。在本文中,我們將探索如何刪除頻率小於或等於 2 的所有列表元素。您還可以在程式中將值 2 更改為任意數字。
使用計數
count 方法保留列表中每個元素的計數。因此,我們使用該方法並使用一個 for 迴圈,並設定一個條件,僅保留計數大於 2 的元素。
示例
listA = ['Mon', 3,'Tue','Mon', 9, 3, 3]
# Printing original list
print("Original List : " + str(listA))
# Remove elements with count less than 2
res = [i for i in listA if listA.count(i) > 2]
# Result
print("List after removing element with frequency < 3 : ",res)輸出
執行上述程式碼會得到以下結果 −
Original List : ['Mon', 3, 'Tue', 'Mon', 9, 3, 3] List after removing element with frequency < 3 : [3, 3, 3]
使用計數器
Counter 方法可以計算可迭代物件中元素出現的次數。因此,將所需列表傳遞給它來使用該方法非常簡單。
示例
from collections import Counter
listA = ['Mon', 3,'Tue','Mon', 9, 3, 3]
# printing original list
print("Original List : " + str(listA))
# Remove elements with count less than 2
res = [ele for ele in listA if Counter(listA)[ele] > 2]
# Result
print("List after removing element with frequency < 3 : ",res)輸出
執行上述程式碼會得到以下結果 −
Original List : ['Mon', 3, 'Tue', 'Mon', 9, 3, 3] List after removing element with frequency < 3 : [3, 3, 3]
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP