0
내가 가지고있는 것 : 목록 목록 인 nodes
이 있습니다.두 가지 조건이 주어진 목록에서 행 추출
nodes = [[ID, number 1, number 2, number 3],[...]]
I는 각리스트에 포함되는 총 IDs
의 서브 세트에 속하는 ID
수와 같은 단일 데이터만을 가질 수있다 sampleID
및 sampleID2
라는 목록 두 목록이 각리스트는 다음과 같은 구조를 가지고 nodes
:
sampleID = [[IDa],[...]]
sampleID2 = [[IDb],[...]], len(sampleID) + len(sampleID2) <= len(nodes)
어떤 경우에는 이러한 목록도 할 수 있습니다와 같은 :
sampleID = [[IDa1,IDa2, IDa3,...],[...]]
extractedlist = [[ID, number 1, number 2, number 3],[...]], len(extractedlist) = len(sampleID) + len(sampleID2)
내 코드 : 아주 나는 빠른 방법으로, 내가 A, B = IDi==ID
목록을 포함 네 번째 목록을 확보하고자 을 감안할 때 위의 세 가지 목록을 : 내가 원하는 무엇
기본, 그것은 작동하지만 계산 시간이 많이 걸립니다 :
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]])
작동합니다. 그러나'sampleID = [[IDa], [...]]'대신에'sampleID'는'sampleID = [[IDa1, IDa2, IDa3, ...], [...]]'이고, 그것도 작동합니까? 'sampleID'는 일반적으로 행당 하나의 ID를 가질 수 있지만 경우에 따라 행 당 최대 16 개의 ID를 가질 수 있습니다. 감사합니다 – jpcgandre
예 sampleID의 모든 유형 목록이 작동 할 수 있도록 listID의 모든 값이 final_ids를 확장하기 때문에 작동합니다. SampleId가 다음과 같은 경우 'sampleID = [[IDa1, IDa2, IDa3, ... Id16], [Id17, Id18], [ID19], [Id20, Id21, ... Id31]]' 그런 다음 또한 그것의 T는 작품 :) –