def available_colors(G, vertex, number_of_colors):
    """Returns all the available colors for vertex

    Parameters:
        G: a networkx graph with Graph Nodes
        vertex: the vertex number (int)
        number_of_colors: the number of colors (int)
    Returns:
        colors: list of available colors (list)
    """
    colors = [x for x in range(0, number_of_colors)]
    for neighbor in G.neighbors(vertex):
        try:
            index = colors.index(G.nodes[neighbor]['node'].color)
            colors.pop(index)
        except Exception:
            pass
    return colors