ファイルを読み取り、単語と位置をタプルとしてリストに追加します。次に、そのリストを並べ替え、インデックスを削除して、単語を結合します。
with open(inputfilename) as inputfile:
words = []
for line in inputfile:
line = line.strip()
if not line or line.startswith('#'):
continue
word, positions = line.split(':')
words.extend((int(p), word) for p in positions.split(','))
print ' '.join([w for p, w in sorted(words)])
デモ:
>>> with open(inputfilename) as inputfile:
... words = []
... for line in inputfile:
... line = line.strip()
... if not line or line.startswith('#'):
... continue
... word, positions = line.split(':')
... words.extend((int(p), word) for p in positions.split(','))
...
>>> print ' '.join([w for p, w in sorted(words)])
I like to go to cafes