[问题] 计算dict中每一key中的value次数

楼主: demon333 (demon)   2021-03-19 15:15:19
各位高手好
小的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
请教大家怎么改写这一段或者有其他方式完成吗?谢谢
作者: robert09080 (Aspettarei)   2021-03-19 15:34:00
首先 list.count(x) 可以计算出现次数。那么以dict1[“quiet”]为范例,只要将 set1=set(dict1[“quiet”]),即可做出unique的dict1[“quiet”],再以for i in set1: dict1[“quiet”].count(i),即可取得出现次数,以你要的型态放置变量里。
作者: s0914714 (YA)   2021-03-19 16:27:00
把key跟Counter(value)放到dict就好了阿 还是我误会了?
作者: tzouandy2818 (Naked Bear)   2021-03-19 17:48:00
啊你用print 当然只会印出来啊
作者: supremebboy (1234)   2021-03-19 18:49:00
外面宣告空的dict 把你要的东西装进去啊 只有print是得不到你要的
楼主: demon333 (demon)   2021-03-19 20:02:00
谢谢大家我想请问的就是怎么宣告dict然后摆进去T口T写出来了谢谢大家提点!

Links booklink

Contact Us: admin [ a t ] ucptt.com