<｜begin▁of▁sentence｜>### Instruction:
Given an undirected graph with a specified adjacency list, how can you use the 'DFSIter' function in igraph to perform a depth-first search starting from vertex 0 and list the order of nodes visited?
### Response:
from igraph import Graph

# Create a graph with an adjacency list
adj_list = [[1, 2], [0, 3], [0, 3], [1, 2, 4], [3]]
g = Graph.Adjacency(adj_list, mode='UNDIRECTED')

# Run a depth-first search (DFS) using DFS iterator
dfs_iter = g.dfsiter(0, mode='OUT')
order_of_nodes = [node.index for node in dfs_iter]
print(order_of_nodes)
<|EOT|>
