<p>您可以通过以下方式在几行代码中实现所需的结果:</p>
<pre><code>list_a = [
{u'username': u'firstuser', u'userid': u'1'},
{u'username': u'seconduser', u'userid': u'2'},
{u'username': u'thirduser', u'userid': u'3'},
]
list_b = [
{u'username': u'firstuser', u'userid': u'101'},
{u'username': u'seconduser', u'userid': u'102'},
]
# Get all users from both lists.
users = set(elem['username'] for elem in list_a + list_b)
# Get all ids for every user from the above list we created.
userids = [{user:[elem['userid'] for elem in list_a + list_b if elem['username']==user]} for user in users]
# Add a padding of a maximum of two elements in order to fill any missing values with ''.
userids = [{key: ids + [''] * (2-len(ids))} for user in userids for key , ids in user.items()]
# Create final list.
list_c = [{'username':key, 'userid_one':values[0], 'userid_two':values[1]} for elem in userids for key, values in elem.items()]
print(list_c)
</code></pre>
<p>最终结果:</p>
<pre><code>[{'username': 'seconduser', 'userid_one': '2', 'userid_two': '102'}, {'username': 'thirduser', 'userid_one': '3', 'userid_two': ''}, {'username': 'firstuser', 'userid_one': '1', 'userid_two': '101'}]
</code></pre>