<｜begin▁of▁sentence｜>### Instruction:
Given a directed graph with edges defined as [(0, 1), (0, 2), (1, 3), (3, 4)], can you use the Graph.Graph.dfs function in igraph to conduct a depth first search from vertex 0? Provide the ordered list of visited vertices and their parent vertices.
### Response:
from igraph import Graph

# Create an example directed graph
edges = [(0, 1), (0, 2), (1, 3), (3, 4)]
g = Graph(edges, directed=True)

# Conduct a depth first search from vertex 0
dfs_result = g.dfs(0, mode='out')

# Unpack the results
visited_vertices, parents = dfs_result[:2]

# Print the visited vertices and their parent vertices
print('Visited vertices:', visited_vertices)
print('Parents:', parents)
<|EOT|>
