寫一個(gè)函數(shù)統(tǒng)計(jì)傳入的列表中每個(gè)數(shù)字出現(xiàn)的次數(shù)并返回對應(yīng)的字典。
點(diǎn)評:送人頭的題目,不解釋。 def count_letters(items): result = {} for item in items: if isinstance(item, (int, float)): result[item] = result.get(item, 0) + 1 return result 也可以直接使用Python標(biāo)準(zhǔn)庫中collections模塊的Counter類來解決這個(gè)問題,Counter是dict的子類,它會(huì)將傳入的序列中的每個(gè)元素作為鍵,元素出現(xiàn)的次數(shù)作為值來構(gòu)造字典。
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))}