title: ValueError to {key:value for i in l for key, value in i.split(':')}
body: <p>Suppose a list:</p>
  
  <pre><code>l=['The basics: URLconfs | View functions | Shortcuts | Decorators',
   'Reference: Built-in Views | Request/response objects | TemplateResponse objects',
   'File uploads: Overview | File objects | Storage API | Managing files | Custom storage',
   'Class-based views: Overview | Built-in display views | Built-in editing views | Using mixins | API reference | Flattened index',
   'Advanced: Generating CSV | Generating PDF',
   'Middleware: Overview | Built-in middleware classes']
  </code></pre>
  
  <p>I would like to convert it to a dict</p>
  
  <pre><code>In [27]: {i.split(':')[0]: i.split(':')[1] for i in l}
  Out[27]:
  {'Advanced': ' Generating CSV | Generating PDF',
   'Class-based views': ' Overview | Built-in display views | Built-in editing views | Using mixins | API reference | Flattened index',
   'File uploads': ' Overview | File objects | Storage API | Managing files | Custom storage',
   'Middleware': ' Overview | Built-in middleware classes',
   'Reference': ' Built-in Views | Request/response objects | TemplateResponse objects',
   'The basics': ' URLconfs | View functions | Shortcuts | Decorators'}
  </code></pre>
  
  <p>It's verbose that repeated <code>i.split(':')</code> occurs, so I tried</p>
  
  <pre><code>{key:value for i in l for key, value in i.split(':')}
  </code></pre>
  
  <p>It reports error otherwise</p>
  
  <pre><code>ValueError: too many values to unpack (expected 2)
  </code></pre>
  
  <p>How to accomplish it in a succinct way?</p>