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 相同,只是手動實現了計數的邏輯。

留言板
歡迎留下建議與分享!希望一起交流!感恩!