一致するインデックス[0]がある場合、行を調べてインデックスxを合計する必要があるコードがあります。これを作成するための最良の解決策は何でしょうか? 私はdefaultdictを持つことができたと思います.index [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.
編集。私はソートされたリストに対してこれを行っています。
前もって感謝します
編集2。人々は私を理解するのに問題を抱えているので、何らかの出力が役立つかもしれません. 現在のバリアブル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 を実行します。