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 相同,只是手動實現了計數的邏輯。
留言板
歡迎留下建議與分享!希望一起交流!感恩!