python 從 list 中找出總共有幾種數值,以及各數值分別有多少數量

 

 


你可以使用 Python 的 collections.Counter 來輕鬆計算 list 中每個數值的出現次數。以下是一個簡單的範例:

from collections import Counter

# 假設這是你的 list
data = [1, 2, 2, 3, 3, 3, 4, 4, 4, 4]

# 使用 Counter 來計算每個數值的出現次數
count = Counter(data)

# 總共有幾種數值
num_unique_values = len(count)

# 各數值的數量
value_counts = dict(count)

print(f"總共有 {num_unique_values} 種數值")
print("各數值的數量如下:")
for value, cnt in value_counts.items():
    print(f"{value}: {cnt} 次")
輸出結果:

總共有 4 種數值
各數值的數量如下:
1: 1 次
2: 2 次
3: 3 次
4: 4 次

解釋:
Counter(data) 會回傳一個字典形式的物件,其中鍵(key)是 list 中的數值,值(value)是該數值出現的次數。

len(count) 可以計算出總共有幾種不同的數值。

使用 dict(count) 可以將 Counter 物件轉換為普通的字典,方便進一步操作。

如果你不想使用 collections.Counter,也可以手動計算:

data = [1, 2, 2, 3, 3, 3, 4, 4, 4, 4]

# 使用字典手動計算
value_counts = {}
for value in data:
    if value in value_counts:
        value_counts[value] += 1
    else:
        value_counts[value] = 1

num_unique_values = len(value_counts)

print(f"總共有 {num_unique_values} 種數值")
print("各數值的數量如下:")
for value, cnt in value_counts.items():
    print(f"{value}: {cnt} 次")
這個方法的效果與使用 Counter 相同,只是手動實現了計數的邏輯。