统计列表中元素出现的频率

以前关注中文分词时考虑过如何统计词频的问题。不过好久没做过了。今天在啄木鸟社区中看到关于列表中元素出现的频率统计。有几种:
1、
cnt ={}
ll = 'abcdefgadefz'
for i in ll:
   if not cnt.has_key(i):cnt=0
   else: cnt+=1
2、

cnt={}
ll='abcdefgadefz'
for i in ll:
    cnt = cnt.get(i,0)+1
3、

cnt={}
ll='abcdefgadefz'
for i in ll:
    cnt = cnt.setdefaut(i,0)+1