はじめに
Pythonで日本語を扱う際に,辞書やリストの中身を確認したいときがあります.
しかし,日本語が含まれているとそのまま出力できません.
prettyprintという便利で簡単な方法があるのですが,さらに簡単な方法があるのでご紹介します.
prettyprintについては,以下の記事が参考になると思います.
日本語対応prettyprintメモ(python2.7 windows7も )
超簡単な方法
print str(辞書名orリスト名).decode("string-escape")
このように書くだけです.
簡単ですよね!
比較
例として,以下のようなリストおよび辞書を作ります.
>>> # -*- coding: utf8 -*-
>>> list = ['明日','天気に','なあれ']
>>> dic = {'日にち':'10日','時間':'10時'}
普通に出力する
>>> print list
['\xe6\x98\x8e\xe6\x97\xa5','\xe5\xa4\xa9\xe6\xb0\x97\xe3\x81\xab', '\xe3\x81\xaa\xe3\x81\x82\xe3\x82\x8c']
>>> print dic
{'\xe6\x97\xa5\xe3\x81\xab\xe3\x81\xa1': '10\xe6\x97\xa5', '\xe6\x99\x82\xe9\x96\x93': '10\xe6\x99\x82'}
このようになり,日本語として表示できていませんよね.
print str(辞書orリスト名).decode("string-escape")
>>> print str(list).decode('string-escape')
['明日', '天気に', 'なあれ']
>>> print str(dic).decode('string-escape')
{'日にち': '10日', '時間': '10時'}
きちんと日本語で表示することができました!
pretty print
以下のようにターミナルに打ち込むだけで,インストールができます.
easy_install prettyprint
これでもう使えるようになりました.
実際にリストや辞書に対して使うと以下のようになります.
>>> from prettyprint import pp
>>> pp(list)
[
"明日",
"天気に",
"なあれ"
]
>>> pp(dic)
{
"日にち": "10日",
"時間": "10時"
}
見やすい形に整形された状態で出力されます!
まとめ
Pythonの日本語の辞書やリストの中身を表示する超簡単な方法とprettyprint
をご紹介しました.
print str(辞書orリスト名).decode("string-escape")
と prettyprint
は状況によって使い分けるといいと思います.
prettyprint
は,行替えをしてくれるので,要素の一つ一つが見やすいです.短いリストであったり,辞書やリストの中身がちゃんと入っているか確認するために先頭だけみたい場合であったりすれば,print str(辞書orリスト名).decode("string-escape")
の方が見やすいかもしれません.
参考URL
-日本語対応prettyprintメモ(python2.7 windows7も )
http://qiita.com/zaoriku0/items/f4edbb5e044648994a0d
-Pythonで日本語を含んだリストと辞書をpretty printしたい件
http://sucrose.hatenablog.com/entry/20111112/p1