python求眾數(shù)問題實(shí)例
本文實(shí)例講述了python求眾數(shù)問題的方法,是一個(gè)比較典型的應(yīng)用。分享給大家供大家參考。具體如下:
問題描述:
多重集中重?cái)?shù)最大的元素稱為眾數(shù)...就是一個(gè)可以有重復(fù)元素的集合,在這個(gè)集合中重復(fù)的次數(shù)最多的那個(gè)數(shù)就叫它的眾數(shù)...
如S = [1,2,2,2,3,5] 重?cái)?shù)是2,其重?cái)?shù)為3
實(shí)例代碼如下:
list_num = [] list_num_count = 0 dict_num ={} #從文件讀入,文件第一行為集合中元素的個(gè)數(shù),以后每一行為一個(gè)元素 list_num_count = int(open('input.txt','r').readline()) for line_num, line in enumerate(open("input.txt",'r')): if line_num > 0: list_num += line.split() #將讀到的元素加入的字典中 for item in list_num: if dict_num.has_key(item): dict_num[item] += 1 else: dict_num.setdefault(item,1) pass #找到出現(xiàn)次數(shù)最多的那個(gè)數(shù),找到重?cái)?shù) dict_sort_by_top = {} top_value = 0 for valus in dict_num.itervalues(): if valus> top_value: top_value = valus pass #根據(jù)重?cái)?shù)找到眾數(shù)...這是因?yàn)榭紤]到可能有多個(gè)元素有相同多的重?cái)?shù) the_pop_num = 0 the_pop_num_count = 0 for keys,values in dict_num.iteritems(): if values == top_value: print 'the pop num is %s,and the appear num is %s' % (keys,values) the_pop_num = keys the_pop_num_count = values #輸出到文件,第一行為從數(shù),第二行為重?cái)?shù) write_line = '%s\n%s' %(the_pop_num, the_pop_num_count) open("output.txt",'w').write(write_line)
這里假設(shè)有同級目錄文件input.txt內(nèi)容如下:
8 11 37 2 37 2 45 99 37
第一行的8代表元素個(gè)數(shù),其后每一行有一個(gè)元素。
測試環(huán)境為Python2.7.6,
Python程序針對input.txt文件操作的運(yùn)行結(jié)果如下:
the pop num is 37,and the appear num is 3
同時(shí)生成output.txt文件記錄了眾數(shù)37及其重復(fù)次數(shù)3。
希望本文所述對大家的Python程序設(shè)計(jì)有所幫助。
相關(guān)文章
Python3實(shí)現(xiàn)監(jiān)控新型冠狀病毒肺炎疫情的示例代碼
這篇文章主要介紹了Python3實(shí)現(xiàn)監(jiān)控新型冠狀病毒肺炎疫情的示例代碼,代碼簡單易懂,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-02-02Django xadmin開啟搜索功能的實(shí)現(xiàn)
今天小編就為大家分享一篇Django xadmin開啟搜索功能的實(shí)現(xiàn),具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-11-11Pytorch復(fù)現(xiàn)擴(kuò)散模型的示例詳解
這篇文章主要為大家詳細(xì)介紹了如何利用Pytorch復(fù)現(xiàn)擴(kuò)散模型,文中的示例代碼講解詳細(xì),具有一定的學(xué)習(xí)價(jià)值,感興趣的可以跟隨小編一起了解一下2023-04-04