如何在 Python 列表中計算唯一值

Jinku Hu 2023年1月30日 2020年11月24日
  1. 使用 collections.counter 來計算 Python 列表中的唯一值
  2. 使用 set 來計算 Python 列表中的唯一值
  3. 使用 numpy.unique 計算 Python 列表中的唯一值
如何在 Python 列表中計算唯一值

本文將介紹不同的方法來計算列表中的唯一值,使用以下方法。

  • collections.Counter
  • set(listName)
  • np.unique(listName)

使用 collections.counter 來計算 Python 列表中的唯一值

collections 是一個 Python 標準庫,它包含 Counter 類來計算可雜湊物件。

Counter 類有兩個方法。

  1. keys() 返回列表中的唯一值。
  2. values() 返回列表中每個唯一值的計數。

我們可以使用 len() 函式,通過傳遞 Counter 類作為引數來獲得唯一值的數量。

示例程式碼

from collections import Counter

words = ['Z', 'V', 'A', 'Z','V']

print(Counter(words).keys())
print(Counter(words).values())

print(Counter(words))

輸出:

['V', 'A', 'Z']
[2, 1, 2]
3

使用 set 來計算 Python 列表中的唯一值

set 是一個無序的集合資料型別,它是可迭代、可變、沒有重複元素的型別。當我們使用 set() 函式將列表轉換為 set 後,我們可以得到 set 的長度來計算列表中的唯一值。

示例程式碼

words = ['Z', 'V', 'A', 'Z','V']
print(len(set(words)))

輸出:

3

使用 numpy.unique 計算 Python 列表中的唯一值

numpy.unique 返回輸入陣列類資料的唯一值,如果 return_counts 引數設定為 True,還返回每個唯一值的計數。

示例程式碼

import numpy as np

words = ['Z', 'V', 'A', 'Z','V']

np.unique(words)

print(len(np.unique(words)))

輸出:

3
Author: Jinku Hu
Jinku Hu avatar Jinku Hu avatar

Founder of DelftStack.com. Jinku has worked in the robotics and automotive industries for over 8 years. He sharpened his coding skills when he needed to do the automatic testing, data collection from remote servers and report creation from the endurance test. He is from an electrical/electronics engineering background but has expanded his interest to embedded electronics, embedded programming and front-/back-end programming.

LinkedIn

相關文章 - Python List