python編程練習5

Paste_Image.png

今天的python題目是合并表記錄:
數(shù)據(jù)表記錄包含表索引和數(shù)值,請對表索引相同的記錄進行合并,即將相同索引的數(shù)值進行求和運算,輸出按照key值升序進行輸出。

其實就是利用字典進行的按索引求和,然后按索引排序輸出。

自己練習的代碼對于正常的輸入是沒有問題的,對于一些異常的輸入就沒法了

import sys

d = {}
for line in sys.stdin:
    line = line.strip().split(' ')
    k = int(line[0])
    v = int(line[1])
    if k in d:
        d[k] += v
    else:
        d[k] = v

for k,v in sorted(d.items(),key=lambda x:x[0],reverse=False):
    print k,v

下面是優(yōu)秀案例:

def fun8():
    d = {}
    for _ in range(input()):
        k, v = map(int, raw_input().split())
        d[k] = d.get(k, 0) + v
    print '\n'.join(map(lambda x: '%d %d'% (x[0], x[1]), sorted(d.items(), key=lambda x: x[0])))
while True:
    try:
        fun8()
    except EOFError:
        break

這段代碼比較簡潔,規(guī)范。在按索引進行運算的時候,它沒有使用if語句判斷key是否在字典中,而是使用了get方法,并且指定了默認值,這是之前沒有注意到的知識點。

字典的一些知識點:
1、dict.get(key, default=None)
2、sorted(iterable,key,reverse),sorted一共有iterable,key,reverse這三個參數(shù)。其中iterable表示可以迭代的對象,例如可以是dict.items()、dict.keys()等,key是一個函數(shù),用來選取參與比較的元素,reverse則是用來指定排序是倒序還是順序,reverse=true則是倒序,reverse=false時則是順序,默認時reverse=false

最后是比較中規(guī)中矩的一個代碼

import sys

n = int(raw_input())
dic = {}
for i in range(n):
    item = sys.stdin.readline().strip('\n').split(' ')
    k = int(item[0])
    v = int(item[1])
    if k in dic:
        dic[k] += v
    else:
        dic[k] = v

list1 = dic.keys()
list1.sort()
for i in list1:
    print i, dic[i]

參考資料:
https://www.nowcoder.com

最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,363評論 6 532
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 98,497評論 3 416
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事?!?“怎么了?”我有些...
    開封第一講書人閱讀 176,305評論 0 374
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經(jīng)常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,962評論 1 311
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,727評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 55,193評論 1 324
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,257評論 3 441
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,411評論 0 288
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 48,945評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 40,777評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,978評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,519評論 5 359
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 44,216評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,642評論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,878評論 1 286
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,657評論 3 391
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,960評論 2 373

推薦閱讀更多精彩內(nèi)容

  • 內(nèi)置函數(shù)Python解釋器內(nèi)置了許多功能和類型,總是可用的。他們是按字母順序列在這里。 abs(x)返回一個數(shù)的絕...
    uangianlap閱讀 1,257評論 0 0
  • http://python.jobbole.com/85231/ 關于專業(yè)技能寫完項目接著寫寫一名3年工作經(jīng)驗的J...
    燕京博士閱讀 7,602評論 1 118
  • python學習筆記 聲明:學習筆記主要是根據(jù)廖雪峰官方網(wǎng)站python學習學習的,另外根據(jù)自己平時的積累進行修正...
    renyangfar閱讀 3,076評論 0 10
  • # 第一優(yōu)先級規(guī)則聲明: # 除了夢境,每一個意識主進程都必須與一個身體參與的機械進程相匹配,否則結束意識主進程。...
    李洞BarryLi閱讀 3,877評論 0 1
  • 個人筆記,方便自己查閱使用 Py.LangSpec.Contents Refs Built-in Closure ...
    freenik閱讀 67,728評論 0 5