要素の個数を数える

ごくシンプルな例に整理する.

やりかた

lang_list = [u'perl', u'python', u'ruby', u'perl', u'python', u'python', u'ruby', u'python', u'ruby', u'lisp']

lang_dic = {}

for lang in lang_list:
    if lang not in lang_dic.keys():
        lang_dic[lang] = 1
    else:
        lang_dic[lang] += 1

# -> lang_dic = {u'perl': 2, u'python': 4, u'ruby': 3, u'lisp': 1}

やってること

数えるべき要素の集まりに対して,初めて見つけたら1と対応させ, 以降見つけるごとに1ずつ対応する数字を増やしていきたい.

要素と値を対応させるには辞書を使う方法と,リストやタプルの中に要素と値の組を入れ子にしたリストやタプルを入れる方法がある.
リストやタプルの入れ子だと値の書き換えがややこしく(タプルは書き換え不可),数えるときには辞書が便利.

lang_dic[lang] で要素に対応する値を呼び出し,+= 1 でその値に1を足している.
もしまだ辞書にその要素が入っていなかったら,lang_dic[lang] = 1で1と対応させて新規登録する.