<｜begin▁of▁sentence｜>### Instruction:
Given an adjacency list {'apple': ['pear', 'peach'], 'pear': ['peach'], 'peach': []}, how can you use Graph.DictList in igraph to create an undirected graph with vertices named 'apple', 'pear', and 'peach' where vertices have edges according to the adjacency list, and then plot this graph?
### Response:
import igraph as ig

# Dictionary representing the adjacency list of the graph
adj_list = {'apple': ['pear', 'peach'], 'pear': ['peach'], 'peach': []}

# Create a graph from the adjacency list
# The graph will be undirected and vertices will be named
g = ig.Graph.DictList(adj_list, directed=False, vertex_name_attr='name')

# Print vertices and edges
print('Vertices:', g.vs['name'])
print('Edges:', g.get_edgelist())

# Plot the graph
ig.plot(g, vertex_label=g.vs['name'])
<|EOT|>
