title: Difference between list() vs. [] when turning a set into a list
body: <p>I read that "typecasting" using <code>list()</code> calls a function, whereas just using the square brackets <code>[]</code> is calling a literal—meaning <code>[]</code> is quicker.</p>
  
  <p>But I recently discovered that there are more differences beyond just speed. I have a dictionary where the keys are ints and the values are some object I made, where the objects have a string corresponding to a university name.</p>
  
  <p>I wanted the unique university names, and so I (proudly and hopefully Pythonically!) wrote:</p>
  
  <p><code>[set([entry[1].school for entry in entries.items()])]</code></p>
  
  <p>But this creates a list of a single element, and that element is a set. This is different than:</p>
  
  <p><code>list(set([entry[1].school for entry in entries.items()]))</code></p>
  
  <p>Which returns a list of strings—what I had expected with the first.</p>
  
  <p>Can someone explain what exactly is going on between both lines?</p>