在 Python 中查詢列表中最常見元素的方法
Najwa Riyaz
2023年10月10日
-
在 Python 中使用
Counter
的most_common()
查詢列表中最常見的元素 -
在 Python 中使用
FreqDist()
的max()
函式查詢列表中最常見的元素 -
在 Python 中使用
NumPy
的unique()
函式查詢列表中最常見的元素
本文提到了在 Python 中查詢列表中最常見元素的幾種方法。以下是我們可以用來查詢 Python 中最常見列表元素的函式。
- 使用
Counter
的most_common()
函式。 - 使用
FreqDist()
的max()
函式。 - 使用
NumPy
的unique()
函式。
在 Python 中使用 Counter
的 most_common()
查詢列表中最常見的元素
在 Python 2.7+ 中,使用 Counter()
命令來查詢 Python 中最常見的列表元素。為此,你需要從 collections
標準庫中匯入 Counter
類。
Counter
是一個集合,其中元素儲存為字典鍵,鍵的計數儲存為字典值。下面的例子說明了這一點。
from collections import Counter
list_of_words = ["Cars", "Cats", "Flowers", "Cats", "Cats", "Cats"]
c = Counter(list_of_words)
c.most_common(1)
print("", c.most_common(1))
這裡,最上面的一個元素是通過使用 most_common()
函式作為 most_common(1)
來確定的。
輸出:
[('Cats', 4)]
在 Python 中使用 FreqDist()
的 max()
函式查詢列表中最常見的元素
你還可以使用 FreqDist()
的 max()
命令來查詢 Python 中最常見的列表元素。為此,你首先匯入 nltk
庫。下面的示例演示了這一點。
import nltk
list_of_words = ["Cars", "Cats", "Flowers", "Cats"]
frequency_distribution = nltk.FreqDist(list_of_words)
print("The Frequency distribution is -", frequency_distribution)
most_common_element = frequency_distribution.max()
print("The most common element is -", most_common_element)
在這裡,首先使用 FreqDist()
函式構建頻率分佈列表,然後使用 max()
函式確定最常見的元素。
輸出:
The Frequency distribution is - <FreqDist with 3 samples and 4 outcomes>
The most common element is - Cats
在 Python 中使用 NumPy
的 unique()
函式查詢列表中最常見的元素
最後,你可以使用 NumPy
庫的 unique()
函式在 Python 中查詢列表中最常見的元素。下面的示例說明了這一點。
import numpy
list_of_words = [
"Cars",
"Cats",
"Flowers",
"Cats",
"Horses",
"",
"Horses",
"Horses",
"Horses",
]
fdist = dict(zip(*numpy.unique(list_of_words, return_counts=True)))
print("The elements with their counts are -", fdist)
print("The most common word is -", list(fdist)[-1])
此操作的輸出是鍵值對字典,其中值是特定單詞的計數。使用 unique()
函式查詢陣列的唯一元素。接下來,zip()
命令用於對映多個容器的相似索引。在本例中,我們使用它來獲取頻率分佈。由於輸出按升序列出鍵值對,因此最常見的元素由最後一個元素決定。
輸出:
The elements with their counts are - {'': 1, 'Cars': 1, 'Cats': 2, 'Flowers': 1, 'Horses': 4}
The most common word is - Horses