なるべく少ない行数 (2行) でかいてみました。
eee.py
python3
1with open("data.txt", "r") as f:
2 list(map(lambda v: print("{}:{}".format(*v)), [[v[1], int(v[3]) - int(v[2])] for v in [line.strip().split() for line in f.readlines()]]))
3
4# 上の行を分解してみたもの
5print()
6with open("data.txt", "r") as f:
7 lines = [line.strip().split() for line in f.readlines()]
8 print(lines)
9 data = [[v[1], int(v[3]) - int(v[2])] for v in lines]
10 print(data)
11 strs = ["{}:{}".format(*v) for v in data]
12 print(strs)
実行結果
後半の処理を分解してかいてみた部分では、次の処理をしています。
a. ファイルを読み込んで、行ごとに単語に切り分ける。
b. 表示に必要なデータへ加工する。
c. 書式を整える。
書式を整えて さらに print するには ここでは、map を使ってみました。
print() で sep="\n" を指定することで各要素が改行されて表示されることを利用するとか、for で各要素毎に print() してもよいです。