【Python每日作業(yè)】Day4:寫一個函數(shù)統(tǒng)計傳入的列表中每個數(shù)字出現(xiàn)的次數(shù)并返回對應的字典。

大家好,我是 bug,一個普通程序員。

程序員的快速成長,在于多練習,多輸出,多分享,多鏈接。

怎奈執(zhí)行力太差,錯過了很多好的機會。

什么時候開始都不算晚,歡迎大家關(guān)注,見證一個普通程序員的成長之路。

這里先立個 Flag,參加 濤哥聊Python技術(shù)圈 知識星球的每日作業(yè)打卡,先堅持 7 天。

問題:

Day4
Q16: 寫一個函數(shù)統(tǒng)計傳入的列表中每個數(shù)字出現(xiàn)的次數(shù)并返回對應的字典。

解決:

解決這個問題,要先從題面的信息入手。
關(guān)鍵字為列表、數(shù)字、字典。

分析可知:

  1. 函數(shù)入?yún)㈩愋蜑榱斜?,需學習下 Python 的特征和常用函數(shù)。
  2. Python 列表的元素類型,不同于 Java 需要提前聲明,每個元素可以是不同的數(shù)據(jù)類型。本題中做了限制,列表所有元素都為數(shù)字。為方便統(tǒng)計,假設列表中元素都為整型數(shù)字。
  3. 函數(shù)返回值用字典,字典是 Python 中特有的數(shù)據(jù)結(jié)構(gòu),也需要學習下。

學習完畢,開始解題。
解題思路:

  1. 統(tǒng)計列表中每個元素出現(xiàn)的次數(shù),需要對列表進行遍歷,用 for 循環(huán)。
  2. 對于每個元素,要在字典中記錄出現(xiàn)的次數(shù)。
  3. 需判斷元素在字典的鍵中是否已存在,用 if 結(jié)合 list 的 contains() 函數(shù)判斷。

統(tǒng)計 list 元素出現(xiàn)次數(shù),有兩種方式:

  1. 手動統(tǒng)計。
  2. 利用 list 的 count 函數(shù)查詢。

算法的角度考慮,不知道有沒有效率更高的方式, 有懂的大佬歡迎評論指導下。

# Q16: 題目013:寫一個函數(shù)統(tǒng)計傳入的列表中每個數(shù)字出現(xiàn)的次數(shù)并返回對應的字典。

# 命名習慣,變量、方法名用下劃線分隔;類名首字母大寫,駝峰命名。
number_list = [1, 1, 0, 2, 3, 4, 5, 2, 1, 3, 5, 3, 5, 1, 2, 3, 5, 6, 87, 8, 95, 3, 4]


# 方法一:遍歷元素,統(tǒng)計每個元素出現(xiàn)的次數(shù)
def count_list_element(array):
    result_return = {}
    for i in array:
        if result_return.__contains__(i):
            result_return[i] = result_return[i] + 1
        else:
            result_return[i] = 1
    return result_return


result = count_list_element(number_list)
print(result)
# {1: 4, 0: 1, 2: 3, 3: 5, 4: 2, 5: 4, 6: 1, 87: 1, 8: 1, 95: 1}


# 方法二:用 list 的計數(shù)函數(shù),統(tǒng)計每個元素出現(xiàn)的次數(shù)
def count_list_element_2(array):
    result_return = {}
    for i in array:
        if not result_return.__contains__(i):
            result_return[i] = array.count(i)
    return result_return


result_2 = count_list_element_2(number_list)
print(result_2)
# {1: 4, 0: 1, 2: 3, 3: 5, 4: 2, 5: 4, 6: 1, 87: 1, 8: 1, 95: 1}

總結(jié):

好了,Day4 打卡結(jié)束,學習了 python 中, list, dict, for 循環(huán),if 判斷的基本用法。

如果你也正在學習 Python ,歡迎和 bug 一起交流。

關(guān)注公眾號 bug 玩編程,一起玩編程!

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容