我不知道如何让这两个数组相交:
a = [[125, 1], [193, 1], [288, 23]]
b = [[108, 1], [288, 1], [193, 11]]
result = [[288,24], [193, 12]]
那么交集是由数组的第一个元素确定的,第二个元素被求和,有什么高效的方法吗?
好的,我犯了一个错误,没有解释我所说的“高效”,对不起。考虑以下朴素实现:
a = [[125, 1], [193, 1], [288, 23]]
b = [[108, 1], [288, 1], [193, 11]]
result = {}
for i, j in a:
for k, l in b:
if i == k:
result[i] = j + l
print result
我试图寻找一种更加高效的解决方案来解决我的问题,并以更Pythonic的方式来实现。这就是为什么我需要你的帮助。
请尝试以下测试用例(我的代码也在其中):
运行时间:28.6980509758
a = [[100, 1], [100, 2]]
,b = [[50, 1]]
。 - Brionius