<p>我不明白你在问什么,因为逻辑不太清楚。你知道吗</p>
<p>但是,可以这样进行聚合:</p>
<pre><code>some_pages = [
{
'title': 'Invade Manhatten, anyone?',
'tags': ['world-domination', 'hangout'],
'posts': [
{
'author': 'Mr. Sinister',
'content': "I'm thinking 9 pm?",
'upvotes': 2,
},
{
'author': 'Mr. Sinister',
'content': "Sounds fun!",
'upvotes': 0,
},
{
'author': 'Mr. Sinister',
'content': "I'm in!",
'upvotes': 0,
},
],
}
]
author_aggregation = {}
for pages in some_pages:
for post in pages.get('posts', []):
a = post.get('author')
v = post.get('upvotes')
c = post.get('content')
if a in author_aggregation:
author_aggregation.update({a: {'upvotes': author_aggregation[a]['upvotes'] += v, 'content': author_aggregation[a]['content'].append(c)}})
else:
author_aggregation[a] = {'upvotes': v, 'content': [c]}
</code></pre>
<h2>相关:</h2>
<ul>
<li><a href="https://stackoverflow.com/questions/18066269/group-by-and-aggregate-the-values-of-a-list-of-dictionaries-in-python">Group by and aggregate the values of a list of dictionaries in Python</a></li>
</ul>