作者demon333 (demon)
看板Python
標題[問題] 計算dict每一個key中value次數
時間Fri Mar 19 15:15:19 2021
各位高手好
小的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
推 robert09080: 首先 list.count(x) 可以計算出現次數。那麼以dic 03/19 15:34
→ robert09080: t1[“quiet”]為範例,只要將 set1=set(dict1[“q 03/19 15:34
→ robert09080: uiet”]),即可做出unique的dict1[“quiet”],再 03/19 15:34
→ robert09080: 以for i in set1: dict1[“quiet”].count(i),即 03/19 15:34
→ robert09080: 可取得出現次數,以你要的型態放置變數裡。 03/19 15:34
推 s0914714: 把key跟Counter(value)放到dict就好了阿 還是我誤會了? 03/19 16:27
→ tzouandy2818: 啊你用print 當然只會印出來啊 03/19 17:48
推 supremebboy: 外面宣告空的dict 把你要的東西裝進去啊 只有print 03/19 18:49
→ supremebboy: 是得不到你要的 03/19 18:49
→ demon333: 謝謝大家我想請問的就是怎麼宣告dict然後擺進去T口T 03/19 20:02
→ demon333: 寫出來了謝謝大家提點! 03/19 20:08