寫一個函數統計傳入的列表中每個數字出現的次數并返回對應的字典。
點評:送人頭的題目,不解釋。 def count_letters(items): result = {} for item in items: if isinstance(item, (int, float)): result[item] = result.get(item, 0) + 1 return result 也可以直接使用Python標準庫中collections模塊的Counter類來解決這個問題,Counter是dict的子類,它會將傳入的序列中的每個元素作為鍵,元素出現的次數作為值來構造字典。
from collections import Counter def count_letters(items): counter = Counter(items) return {key: value for key, value in counter.items() \ if isinstance(key, (int, float))}