title: Python: NetworkX Finding shortest path which contains given list of nodes
body: <p>I have a graph</p>
  
  <pre><code>G=nx.Graph()
  </code></pre>
  
  <p>and its edges</p>
  
  <pre><code>G.add_edge('a', 'b')
  G.add_edge('a', 'e')
  G.add_edge('b', 'c')
  G.add_edge('c', 'd')
  G.add_edge('d', 'e')
  G.add_edge('e', 'g')
  G.add_edge('g', 'f')
  G.add_edge('g', 'h')
  G.add_edge('g', 'k')
  G.add_edge('h', 'j')
  G.add_edge('h', 'i')
  </code></pre>
  
  <p>And now suppose I want to get a shortest path which start from node 'a' and should contain nodes <code>['d', 'k']</code>
  so the output should be <code>['a', 'b', 'c', 'd', 'e', 'g', 'k']</code>
  is there a networkx function which can give me such output?</p>