[問題] 計算dict中每一key中的value次數

看板Python作者 (demon)時間3年前 (2021/03/19 15:15), 3年前編輯推噓3(308)
留言11則, 5人參與, 3年前最新討論串1/1
各位高手好 小的python苦手這個問題困擾兩天了 想跟大家請教一下 現有 dict1= {'quiet':[123, 231, 68, 68, 68, 107, 107], 'more': :[3, 3, 82, 82, 146, 146, 95], ...} 想改成為計算每一key中value的次數(頻率) dict2= {'quiet':[123:1, 231:1, 68:3, 107:2], 'more': :[3:2, 82:2, 146:2, 95:1], ...} 試過Counter(value) for key, value in dict1.items(): print(key, Counter(value)) 但只會列印出來 卡在不知道怎麼把這個變成dict 請教大家怎麼改寫這一段或者有其他方式完成嗎?謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 31.205.236.119 (英國) ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1616138121.A.FE3.html ※ 編輯: demon333 (31.205.236.119 英國), 03/19/2021 15:17:55 ※ 編輯: demon333 (31.205.236.119 英國), 03/19/2021 15:19:05

03/19 15:34, 3年前 , 1F
首先 list.count(x) 可以計算出現次數。那麼以dic
03/19 15:34, 1F

03/19 15:34, 3年前 , 2F
t1[“quiet”]為範例,只要將 set1=set(dict1[“q
03/19 15:34, 2F

03/19 15:34, 3年前 , 3F
uiet”]),即可做出unique的dict1[“quiet”],再
03/19 15:34, 3F

03/19 15:34, 3年前 , 4F
以for i in set1: dict1[“quiet”].count(i),即
03/19 15:34, 4F

03/19 15:34, 3年前 , 5F
可取得出現次數,以你要的型態放置變數裡。
03/19 15:34, 5F

03/19 16:27, 3年前 , 6F
把key跟Counter(value)放到dict就好了阿 還是我誤會了?
03/19 16:27, 6F

03/19 17:48, 3年前 , 7F
啊你用print 當然只會印出來啊
03/19 17:48, 7F

03/19 18:49, 3年前 , 8F
外面宣告空的dict 把你要的東西裝進去啊 只有print
03/19 18:49, 8F

03/19 18:49, 3年前 , 9F
是得不到你要的
03/19 18:49, 9F

03/19 20:02, 3年前 , 10F
謝謝大家我想請問的就是怎麼宣告dict然後擺進去T口T
03/19 20:02, 10F

03/19 20:08, 3年前 , 11F
寫出來了謝謝大家提點!
03/19 20:08, 11F
文章代碼(AID): #1WL4-9_Z (Python)
文章代碼(AID): #1WL4-9_Z (Python)