Indentation is also wrong here, but this way 'maybe' is more clear:

comments = [self._comment_as_dict(c) for c in root.findall('comment')]
comments = {c['id']: c for c in comments}

Of course is your election here.