擅长:python、mysql、java
<p>编辑:修正了我对问题的误解,部分改编自:
<a href="https://stackoverflow.com/questions/598398/searching-a-list-of-objects-in-python">Searching a list of objects in Python</a></p>
<p>假设list1和list2之间没有重复项,并且总是找到匹配项</p>
<p>这可能适用于此,我尚未对此进行测试,因此您可能会发现一些语法错误:</p>
<pre><code>for item in map:
xResult = [x for x in list1 if x.id == item or x.id == map[item]][0]
yResult = [y for y in list2 if y.id == item or y.id == map[item]][0]
if item == xResult:
firstTupleItem = xResult
secondTupleItem = yResult
else:
firstTupleItem = yResult
secondTupleItem = xResult
tuple = (firstTupleItem,secondTupleItem)
output.append(tuple)
</code></pre>
<p>当然,这可能会得到很大的优化或改进,但这可能是一个合理的起点</p>
<p>编辑:塞尔库克的答案是比较理想的,但我会保持这个参考的缘故</p>