私が持っているもの: 私はリストのリストを持っていますnodes
。各リストの構造は次のとおりです。
nodes = [[ID, number 1, number 2, number 3],[...]]
sampleID
と呼ばれるリストの他の 2 つのリストもあります。ここで、各リストは、に含まれる合計のサブセットに属する数値にsampleID2
等しい単一のデータのみを持つことができます。ID
IDs
nodes
sampleID = [[IDa],[...]]
sampleID2 = [[IDb],[...]], len(sampleID) + len(sampleID2) <= len(nodes)
場合によっては、これらのリストは次のようになります。
sampleID = [[IDa1,IDa2, IDa3,...],[...]]
IDi==ID
私が欲しいもの: 上記の 3 つのリストを考えると、i=a,bのリストを含む 4 番目のリストをすばやく取得したいと思います。
extractedlist = [[ID, number 1, number 2, number 3],[...]], len(extractedlist) = len(sampleID) + len(sampleID2)
私のコード: 非常に基本的ですが、動作しますが、計算に多くの時間がかかります:
import itertools
for line in nodes[:]:
for line2,line3 in itertools.izip(sampleID[:],sampleID2[:]):
for i in range(0,len(line2)):
if line2[i]==line[0]:
extractedlist.append([line[0], line[1], line[2], line[3]])
for j in range(0,len(line3)):
if line3[j]==line[0]:
extractedlist.append([line[0], line[1], line[2], line[3]])