作者ran ()
看板Python
标题[问题] 关於dict中get的用法
时间Wed Apr 20 01:19:30 2011
因为是刚接触程式设计和Python所以对於整个语法架构还不是相当的熟悉
遇到一个问题想半天也想不出一个比较顺的做法
想跟板上的前辈们请教一下
下面这个function
def histogram(s):
d = dict()
for c in s:
if c not in d:
d[c] = 1
else:
d[c] += 1
return d
(s是用做输入string)
要怎麽用get来改写?
我的疑问是在於
get本身是使用在dict中的method
这个function是直接将string输入进去
在转换成dict的过程当中
利用for回圈把要记数的项目一次一次加上去
最後完成dict之後 也就是要获得的资讯
(这样的说法不知道正不正确...??)
但是如果要用get的话
不就是要先把他转成dict的形态之後
再用get去一次一次截取他的值?!
这个地方的逻辑我想半天也想不出来到底是怎样....
跪求板上的前辈们能够帮助我解除这个疑惑阿!
感谢!
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 220.136.80.34
1F:推 COLDTURNIP:from collections import * 04/20 01:48
2F:→ COLDTURNIP:d = Counter(s) # 以上完全文不对题 XD 04/20 01:49
3F:→ ran:居然是高中同学ㄎㄎ 但是我还是不懂你的意思哈哈... 04/20 01:51
4F:推 COLDTURNIP:如果你只是要把所有值印出来的话,这样做: 04/20 01:54
5F:→ COLDTURNIP:for c in d: print d.get(c) # 或 print d[c] 04/20 01:55
6F:推 COLDTURNIP:for c in d 也相当於 for c in d.keys() 04/20 01:59
7F:→ ran:我後来找到解答了哈哈 04/20 02:03
8F:→ ran:他是用for c in s: d[c]=d.get(c,0)+1 应该是这样吧..? 04/20 02:07