リストには、いくつかの共通要素が含まれています。
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]]
私はそれらを比較して共通の要素を見つけようとしており、結果でいくつかの仕事をしています:
do_job('target1/d/b/c', 'target1', 123, 334, 'link1/d/b/c')
今のところ、シンプルで非常に遅いアルゴリズムを使用しています:
for item in p:
link = item[0]
target = item[1]
for item2 in q:
target2 = item2[0]
if target2 == target:
do_some_job(...)
この 2 つのリストを比較して、すべての要素を含む 1 つのリストを作成する必要があると思います。
pq = [['target1/d/b/c', 'target1', 123, 334, 'link1/d/b/c'], ..., ['targetn/b/b/f', 'targetn', 23, 64, 'linkn/b/b/f']]
そして、do_some_job(pq)
同じ要素が見つかったときに毎回呼び出す代わりに呼び出します
入手方法は?
よろしくお願いします