数字をコンマで区切る

いつの間にか数字をコンマで区切る方法がやけに簡単になってるな。

# Python 3.1
print("{:,d}".format(1234567890))  # 1,234,567,890

さらに書式指定を n にすると、ロケールに合わせた桁数と文字で区切ってくれる。例えばドイツでは3桁ごとに . で区切っているようだ。

import locale
locale.setlocale(locale.LC_NUMERIC, "")
print("{:n}".format(1234567890))  # 1,234,567,890

locale.setlocale(locale.LC_NUMERIC, 'deu_deu')
print("{:n}".format(1234567890))  # 1.234.567.890

最初はいらないと思った str.format() もなかなか便利だなあ。