【发布时间】:2017-09-28 14:51:25
【问题描述】:
我需要有效地执行用 Python 实现的内部连接。
我有 2 个数据集,它们来自不同的来源,但共享一个共同的键。
让我们说(为了争论)它们看起来像这样:
person_likes = [{'person_id': '1', 'food': 'ice_cream', 'pastimes': 'swimming'},
{'person_id': '2', 'food': 'paella', 'pastimes': 'banjo'}]
person_accounts = [{'person_id': '1', 'blogs': ['swimming digest', 'cooking puddings']},
{'person_id': '2', 'blogs': ['learn flamenca']}]
我怎样才能最好地加入这两组数据。我有这样的事情:
joins = []
for like in person_likes:
for acc in person_accounts:
if like['person_id'] == acc['person_id']:
join = {}
join.update(like)
join.update(acc)
joins.append(join)
print(joins)
这似乎工作正常(我没有对其进行广泛测试),乍一看似乎是我们能做的最好的 - 但我想知道是否有一种性能更高的已知算法,以及是否有更多这样做是惯用的还是 Pythonic 的方式?
【问题讨论】: