29228


Jupyter notebookを用いて、mac上でpython3を使用しています。  
EntrezパッケージのEfetchを用いてNCBIから文献情報を引っ張ってきたのですが、返り値が複雑にネストされたリストでとても見にくいです。  
今回の例に限らないのですが、ネストされたリストをツリー表示や、階層毎に改行して表示したりして見やすくする方法はありませんでしょうか。


CC BY-SA 3.0
2016-09-19T08:46:44.610
28982
2016-09-29T01:47:43.610
2016-09-23T08:44:08.240
3054
18845
question
python
ネストされているlistの内容を見やすく表示できませんか。


標準ライブラリの `pprint` を試してみてはどうでしょう。

<http://docs.python.jp/3.5/library/pprint.html>

以下は pprint の例 の引用です。

[code]

    >>> import pprint
    >>> stuff = ['spam', 'eggs', 'lumberjack', 'knights', 'ni']
    >>> stuff.insert(0, stuff[:])
    >>> pp = pprint.PrettyPrinter(indent=4)
    >>> pp.pprint(stuff)
    [   ['spam', 'eggs', 'lumberjack', 'knights', 'ni'],
        'spam',
        'eggs',
        'lumberjack',
        'knights',
        'ni']
    >>> pp = pprint.PrettyPrinter(width=41, compact=True)
    >>> pp.pprint(stuff)
    [['spam', 'eggs', 'lumberjack',
    'knights', 'ni'],
    'spam', 'eggs', 'lumberjack', 'knights',
    'ni']
    >>> tup = ('spam', ('eggs', ('lumberjack', ('knights', ('ni', ('dead',
    ... ('parrot', ('fresh fruit',))))))))
    >>> pp = pprint.PrettyPrinter(depth=6)
    >>> pp.pprint(tup)
    ('spam', ('eggs', ('lumberjack', ('knights', ('ni', ('dead', (...)))))))
    
[/code]


CC BY-SA 3.0
2016-09-19T10:11:04.400
28983
2016-09-19T10:11:04.400
5375
28982
answer


JSONに変換可能なデータであることが条件ですが、一度JSONとして出力して、それをJSONビューワに張り付けることで見やすくすることができます。

ほとんどのJSONビューワでは

  * JSONの整形表示
  * 子要素の折り畳み
  * リストの件数の確認
  * リスト要素のインデックスの確認

などができます。

PythonからJSONを出力するには標準モジュールのjsonを使用します。

[code]

    >>> import json
    >>> a = [{"a": 1, "b": 2}, {"a": 3, "b": 4}]
    >>> print(json.dumps(a))
    [{"b": 2, "a": 1}, {"b": 4, "a": 3}]
    
[/code]


CC BY-SA 3.0
2016-09-29T01:47:43.610
29228
2016-09-29T01:47:43.610
18862
28982
answer