Re: [問題] 請問一個dict取值問題

看板Python作者 (阿真)時間13年前 (2012/03/09 14:08), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串4/4 (看更多)
我說 "以上是個概念" 指的是隨手寫的程式碼 執行不成功的機會很大 只是要傳達概念 囧> ※ 引述《kadodo (想辦法突破)》之銘言: : 感謝你的回答 這個概念的確很有幫助 : 可是我現在卡在 我無法讓這個語法正確執行 : Traceback (most recent call last): : File "d.py", line 232, in <module> : cmd_diff() : File "d.py", line 84, in cmd_diff : if b.key > int(a): : AttributeError: 'int' object has no attribute 'key' : 以上是我執行之後的一個錯誤訊息 : 是不是因為搞錯了OrderedDict的結構呢? : 我試了幾次也沒能成功... OrderedDict...老實說我沒用過 另外上面的錯誤是說 b他是整數物件 沒有 key 這個屬性 很明顯我把b想成是"小dict物件"(好像沒這種東西) 但其實他是dict的key(仍是我猜的) (所以這是我的錯誤… 不過也蠻好修正的不是嗎?) 另外 是什麼原因要使用dict呢 這個case看起來list也不錯用啊? : ※ 引述《KSJ (阿真)》之銘言: : : B不是用整數當key嗎??@@a 上面寫是用字串 : : C={} : : for a in A: : : for idx,b in enumerate(B): : : if b.key > int(a): : : C[a] = B[idx-1].value : : break : : 以上是個概念 : : orderdict 看起來是可以排序KEY的dict 所以我猜找它前一個key的值應該是可以的 : : 所以找第一個超過a值的b的index 再寫入前一個index的b值 然後再找下一個a : : 如果不行用index的話 可以記錄 前一筆小於 後一筆大於的時候再填入前一筆的值 : : 如果我有什麼誤解再跟我說 :) -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.63.202

03/09 21:15, , 1F
已經解決 謝謝
03/09 21:15, 1F
文章代碼(AID): #1FMPvABt (Python)
文章代碼(AID): #1FMPvABt (Python)