将嵌套键解压缩到列表中[重复]
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了将嵌套键解压缩到列表中[重复]相关的知识,希望对你有一定的参考价值。
这个问题在这里已有答案:
我有一个字典raw_data ['list'],其值结构如下:
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 ['list']字典中的某些值有一个'tags'键,如下所示:
{'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循环(如果这是解决方案的最优雅方式)。请让我知道你的想法。谢谢!
答案
以下嵌套理解应该有效:
tags = [tag for v in raw_data['list'].values() for tag in v.get('tags', {})]
以上是关于将嵌套键解压缩到列表中[重复]的主要内容,如果未能解决你的问题,请参考以下文章
如何使用对象列表在片段中实现newinstace模式[重复]