回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>我要列出一些常见的元素:</p>
<pre><code>p = [('link1/d/b/c', 'target1/d/b/c'), ('link2/a/g/c', 'target2/a/g/c'), ..., ('linkn/b/b/f', 'targetn/b/b/f')]
q = [['target1/d/b/c', 'target1', 123, 334], ['targetn/b/b/f', 'targetn', 23, 64], ... ,['targetx/f/f/f', 'targetx', 999, 888]]
</code></pre>
<p>我试着比较它们,找出共同点,然后用结果做一些工作:</p>
^{pr2}$
<p>目前,我使用的是简单且非常缓慢的alghortim:</p>
<pre><code>for item in p:
link = item[0]
target = item[1]
for item2 in q:
target2 = item2[0]
if target2 == target:
do_some_job(...)
</code></pre>
<p>我认为,我需要比较这两个列表,然后创建一个包含所有元素的列表,例如:</p>
<pre><code>pq = [['target1/d/b/c', 'target1', 123, 334, 'link1/d/b/c'], ..., ['targetn/b/b/f', 'targetn', 23, 64, 'linkn/b/b/f']]
</code></pre>
<p>然后调用<code>do_some_job(pq)</code>,而不是每次找到同一个元素时都调用它</p>
<p>如何获得?在</p>
<p>谨致问候</p>