#!/usr/bin/env python # coding: utf-8 from collections import defaultdict lines = [line.strip() for line in open('sample2.txt').read().decode('utf-8').splitlines()] class Line: def __init__(self,line): self.bits = line.split() self.code = self.bits[0] self.stamp = self.bits[1] self.text = ' '.join(self.bits[2:]) lines = [Line(line) for line in lines] source = lines[0].code row = defaultdict(list) rows = [] for line in lines: if (len(row) == 2) and line.code == source: rows.append(row) row = defaultdict(list) row[line.code].append(line.text) print rows[0]