以下を使用してリストの辞書を作成しました。
names = defaultdict(list)
テキストファイルから1行を読み取り、3列に分割しています。行の最初の列をキーとして作成し、他の2つの列をリストの値として作成しています。次のコードセグメントを次のように使用しました。
with open('f.txt') as f:
lines = [l.split() for l in f.readlines() if l.strip()]
for l in lines:
names[l[0]].append([l[1],l[2]])
私はこのようなテキストファイルを持っています:
00:12:34:23:45:67 134 123.456
45:34:23:45:44:23 133 345.123
3f:32:dr:45:34:r5 133 212.345
00:12:34:23:45:67 134 555.555
00:12:34:23:45:67 136 555.556
00:12:34:23:45:67 134 555.560
プログラムを実行してキーと値のペアを出力すると、出力は次のようになります。
00:12:34:23:45:67 [['134', '123.456'], ['134', '555.555'], ['136', '555.556'], ['134', '555.560']]
45:34:23:45:44:23 [['133', '345.123']]
3f:32:dr:45:34:r5 [['133', '212.345']]
リストの個々の要素にアクセスするにはどうすればよいですか?たとえば、この出力では、各キーの133、134、135、136の数と、各タイプ間の時間差をカウントしたいと思います。たとえば、キー00:12:34:23:45:67
の場合、3つの134、1136があります。そのキーの134の最高値と最低値の時間差は555.560-123.456です。この結果は、133、134、135、136のすべてのタイプで必要です。私は何日もこの問題に苦しんでいます。助けてください。とても有難い。