変数名として「lst」や「dct」や「L」や「D」がどのくらい使われているか

せっかくなので、変数名として「lst」や「dct」がどのくらい使われているかを調べてみる。ターゲットは Python 標準添付ライブラリ。

### Python 2.5.4
$ cd /usr/local/lib/python2.5/
$ egrep '\blst\b' **/*.py | lv    # けっこうある
$ egrep '\blst\b' **/*.py | wc -l
     92
$ egrep '\bdct\b' **/*.py | lv    # 思ったより少ない
$ egrep '\bdct\b' **/*.py | wc -l
     16

「L」や「D」も調べてみたけど、ノイズが多くて正確にはわからない。かわりに、「L =」と「D =」と「S =」で調べてみた。

### Python 2.5.4
$ egrep '\bL *=\b' **/*.py | wc -l     # やっぱり多い
      78
$ egrep '\bD *=\b' **/*.py | wc -l     # 少ねー!
       1
$ egrep '\bS *=\b' **/*.py | wc -l     # 少ねー!
      10

Django 1.0.2 でも調べてみた。「lst」や「dct」はそれなりに使われているけど、「L」「S」「D」は使われてないっぽい。やるなあ。

$ cd Django-1.0.2-final/django/
$ egrep '\blst\b' **/*.py | wc -l
      25
$ egrep '\bdct\b' **/*.py | wc -l
      11
$ egrep '\bL *=\b' **/*.py | wc -l
       0
$ egrep '\bD *=\b' **/*.py | wc -l
       0
$ egrep '\bS *=\b' **/*.py | wc -l
       0


今日の結論: Python では「dct」「lst」「L」「S」「D」というわかりにくい変数名がそれなりに使われている。これに違和感を感じなくなったら、あなたも立派な「訓練されたPythonista」。


Pythonのdctやlstという変数名はLispのcarやcdrみたいなもん、言語特有のローカルルールやからつべこべ言わず使っとけ、と言われれば、そうかなとも思う。