2017-12-31 50 views
0

にネストされたキーを抽出します。そのような構造の値を持っていることを、私は辞書RAW_DATA [「リスト」]を持つリスト

k, v in sorted(raw_data['list'].items()): 
    print(k, v) 
    break 

1001473688 {'resolved_id': '1001473688', 'item_id': '1001473688', 'word_count': '149', 'excerpt': '“The fraudulence paradox was that the more time and effort you put into trying to appear impressive or attractive to other people, the less impressive or attractive you felt inside — you were a fraud.', 'time_favorited': '0', 'favorite': '0', 'given_url': 'http://www.goodreads.com/quotes/564841-the-fraudulence-paradox-was-that-the-more-time-and-effort', 'is_index': '0', 'status': '0', 'sort_id': 3795, 'authors': {'3445796': {'author_id': '3445796', 'item_id': '1001473688', 'name': 'David Foster Wallace', 'url': 'http://www.goodreads.com/author/show/4339.David_Foster_Wallace'}}, 'time_read': '0', 'has_image': '0', 'has_video': '0', 'given_title': 'Quote by David Foster Wallace: “The fraudulence paradox was that the more t', 'resolved_title': '“The fraudulence paradox was that the more time and effort you put into trying to appear impressive or attractive to other people, the less impressive or attractive you felt inside — you were a fraud. And the more of a fraud you felt like, the harder you tried to convey an impressive or likable image of yourself so that other people wouldn’t find out what a hollow, fraudulent person you really were. Logically, you would think that the moment a supposedly intelligent nineteen-year-old became aware of this paradox, he’d stop being a fraud and just settle for being himself (whatever that was) because he’d figured out that being a fraud was a vicious infinite regress that ultimately resulted in being frightened, lonely, alienated, etc. But here was the other, higher-order paradox, which didn’t even have a form or name — I didn’t, I couldn’t.”', 'resolved_url': 'http://www.goodreads.com/quotes/564841-the-fraudulence-paradox-was-that-the-more-time-and-effort', 'time_added': '1438693251', 'time_updated': '1439849583', 'is_article': '1'} 

RAW_DATA [「リスト」]内の値の一部を辞書には「タグを持っていますタグ: 'キーので、同じよう

{'excerpt': '', 
'favorite': '0', 
'given_title': 'carlcheo.com/wp-content/uploads/2014/12/which-programming-language-should-i', 
'given_url': 'http://carlcheo.com/wp-content/uploads/2014/12/which-programming-language-should-i-learn-first-pdf.pdf', 
'has_image': '0', 
'has_video': '0', 
'is_article': '0', 
'is_index': '0', 
'item_id': '999554490', 
'resolved_id': '999554490', 
'resolved_title': '', 
'resolved_url': 'http://carlcheo.com/wp-content/uploads/2014/12/which-programming-language-should-i-learn-first-pdf.pdf', 
'sort_id': 3026, 
'status': '0', 
'tags': {'programming': {'item_id': '999554490', 'tag': 'programming'}}, 
'time_added': '1454096378', 
'time_favorited': '0', 
'time_read': '0', 
'time_updated': '1454096385', 
'word_count': '0'} 

私はすべてのキーアウト抽出する必要があります 『リストに』(タグの値のキーのキー別名')。ネストされた辞書の経験はあまりなく、ネストされたforループをどのように書くべきかを理解するのに苦労しています(これがソリューションにとって最もエレガントな方法であれば)。感想を聞かせてください。ありがとう!

+1

'1001473688 { 'resolved_id': '1001473688'、...}は'有効ではありません。 – RoadRunner

+0

申し訳ありませんが、私は明確に編集しました。うまくいけば助けます –

+0

あなたのリストのタグを一意にしますか? – schwobaseggl

答えて

2

以下のネストされた理解は、動作するはず:

tags = [tag for v in raw_data['list'].values() for tag in v.get('tags', {})] 
+0

これは機能します。ありがとう!! –

関連する問題