<｜begin▁of▁sentence｜>### Instruction:
As a medical researcher working to advance scientific understanding and treatments using computational biological data, you're trying to map two different biological networks G and H. Graph G consists of two interacting proteins denoted as [0, 1] with an effective interaction (0, 1), and graph H represents two cellular processes ['a', 'b'] with a functional link ('a', 'b'). Can you advise on how to utilize NetworkX to discern the lexicographic product of the protein-protein and cellular process interaction networks? In this way, you can explore higher-level biological functions emerging from these interactions.
### Response:
import networkx as nx

# Create graphs G and H
G = nx.Graph()
H = nx.Graph()
G.add_nodes_from([0, 1])
H.add_nodes_from(['a', 'b'])
G.add_edge(0, 1)
H.add_edge('a', 'b')

# Calculate the lexicographic product P of G and H
P = nx.lexicographic_product(G, H)

# Print the nodes and edges of the product graph P
print('Nodes of P:', P.nodes())
print('Edges of P:', P.edges())
<|EOT|>
