for artigo, tag in[(artigo, tag)for artigo in artigos for tag in artigo.neighbors]:
mm_tag_artigo[tag].append(artigo)
for x in artigos:
print("artigo {} tem como vizinhos...".format(x.name))
print([artigo_vizinho.namefor artigo_vizinho, g in groupby(sorted(chain(*[mm_tag_artigo[tag]for tag in x.neighbors]), key =str))if artigo_vizinho != x])
artigo artigo 1 tem como vizinhos...
['artigo 2']
artigo artigo 2 tem como vizinhos...
['artigo 1', 'artigo 3']
artigo artigo 3 tem como vizinhos...
['artigo 2']