37,721
社区成员
发帖
与我相关
我的任务
分享
#python 3.2
#coding=gb2312
def make_mapping(data, reverse = False):
mapping = {}
for elem in data:
if reverse:
key = str(elem[1]) + ":" + str(elem[0])
else:
key = str(elem[0]) + ":" + str(elem[1])
if key in mapping:
mapping[key].append(elem)
else:
mapping[key] = [elem]
return mapping
def make_result(mapping_a, mapping_b):
result = []
for key, lst in mapping_a.items():
if key in mapping_b:
result.extend(lst)
return result
if __name__ == "__main__":
a = [[8, 6, 3], [3, 4, 5], [5, 2, 7]]
b = [[2, 5, 4], [6, 8, 5]]
mapping_a = make_mapping(a)
mapping_b = make_mapping(b, True)
result = make_result(mapping_a, mapping_b)
print(result)
[[8, 6, 3], [5, 2, 7]]