次のコードで、より効率的/より「Pythonic」なコードはどれですか? try-catch 句または if-else 句を使用していますか?
fname = 'AdobeARM.log'
letters = {}
with open(fname,'r') as f:
for line in f:
for c in line:
try:
letters[c] += 1
except KeyError:
letters[c] = 1
print letters
対。
fname = 'AdobeARM.log'
letters = {}
with open(fname,'r') as f:
for line in f:
for c in line:
if letters.has_key(c):
letters[c] += 1
else:
letters[c] = 1
print letters
私は try catch オプションを使用する傾向がありますが、その理由はわかりません。