<｜begin▁of▁sentence｜>### Instruction:
Given graph data represented by edges [(0, 1), (2, 3)] and cluster membership information [0, 0, 1, 1] for each vertex, can you use the igraph VertexClustering constructor to create a clustering and then retrieve the clusters as subgraphs?
### Response:
import igraph as ig

# Suppose we have a graph with 4 vertices
# and we know their cluster memberships
g = ig.Graph(edges=[(0, 1), (2, 3)])

# Define membership of each vertex
membership = [0, 0, 1, 1]

# Create a VertexClustering object with the memberships
clustering = ig.VertexClustering(g, membership=membership)

# Now we can work with clustering object, e.g., get the clusters
clusters = clustering.subgraphs()

# Print the clusters
for cluster in clusters:
    print(cluster)
<|EOT|>
