일치하는 인덱스 [0]가있는 경우 행을 통과하여 인덱스 x를 합산해야하는 코드가 있습니다. 이것을 만드는 가장 좋은 해결책은 무엇입니까? 나는 defaultdict를 가질 수 있었고 인덱스 [0]에 일치하는 것이 있으면 값을 추가 할 것입니다. 내가 줄 단위로 읽을 수있는 방법이 있고, 임시 메모리에 인덱스 [0]을 항상 가지고 있고, 다음 인덱스 [0]과 일치한다면 그것은 합계를 할 것입니까?스마트 계산을위한 임시 메모리 사용
with open("test.txt") as f:
dic = defaultdict(list)
for line in f:
spl =line.split("\t")
if("Fam" in line):
dic[spl[0]].append(spl[1:])
a = float(spl[5])
b = float(spl[6])
sum = a * b
output = str(sum)
this = line.strip() + "\t"+output
if("TK" in line): #I would like to start sum up after this. Read all lines that include "TK", check index[0] for matches, if match sum up.
편집 :
이것은 내가 지금까지있는 것입니다. 나는 정렬 된 목록에 이것을하고있다. 사전에
감사
EDIT2. 사람들이 나를 이해하는 데 어려움을 겪고 있기 때문에 일부 산출물이 도움이 될 수 있습니다. 현재 변수 this
인쇄 :
Fam_c1_1 F Extractions 02-0419 02-419TK 500 400 200000.0
Fam_c1_1 F Extractions 5107 5107TK 1475 447.5 660062.5
Fam_c10_1 F Extractions 5132 5132TK 1555 547.6 851518.0
Fam_c100_1 M Extractions 5843 5843TK 2605 398.6 1038353.0
Fam_c1000_1 F Extractions 9913 9913TK 1900 398 756200.0
Fam_c1001_1 F Extractions 9512 9512TK 1050 20 21000.0
그래서이 경우에는 내가 목록을 이동하려면 코드를 싶습니다은 메모리에 모든 시간을 목록의 첫 번째 값을 가지고있다. 다음 줄과 첫 번째 값이 일치하면 x가됩니다.
임시 메모리 란 무엇입니까? –
..'index [0]'은 무엇입니까? 그것은 귀하의 코드에 표시되지 않습니다. 'line [0]'을 의미합니까? – kampu
질문이 명확하지 않기 때문에 당신이하려는 일의 몇 가지 예를 들어 줄 수 있습니다. – interjay