title: f-string syntax for unpacking a list with brace suppression
body: <p>I have been examining some of my string format options using the new f-string format.  I routinely need to unpack lists and other iterables of unknown length. Currently I use the following...</p>
  
  <pre><code>&gt;&gt;&gt; a = [1, 'a', 3, 'b']
  &gt;&gt;&gt; ("unpack a list: " + " {} "*len(a)).format(*a)
  'unpack a list:  1  a  3  b '
  </code></pre>
  
  <p>This, albeit a bit cumbersome, does the job using pre-3.6 .format notation.
  The new f-string format option is interesting given runtime string concatenation.  It is the replication of the number of {} that I am having problems with.  In my previous example, I simply created the necessary structure and unpacked within the .format() section.</p>
  
  <p>Attempts to do this yielded one variant that worked, however:</p>
  
  <h3>1) Both curly brackets together doesn't unpack...</h3>
  
  <pre><code>&gt;&gt;&gt; 'unpack a list'  f' {{*a}}'
  'unpack a list {*a}'
  </code></pre>
  
  <h3>2) Adding spaces around the interior {} pair:</h3>
  
  <p>This works but leaves opening and closing braces {, } present:</p>
  
  <pre><code>&gt;&gt;&gt; 'unpack a list'  f' { {*a} }'
  "unpack a list {1, 3, 'a', 'b'}"
  </code></pre>
  
  <h3>2b) Concatenating the variants into one f-string</h3>
  
  <p>This made the look and syntax better, since the evaluation, apparently, is from left to right.  This, however, still left the enclosing curly brackets present:</p>
  
  <pre><code>&gt;&gt;&gt; f'unpack a list { {*a} }'
  "unpack a list {1, 3, 'a', 'b'}"
  </code></pre>
  
  <h3>3) Tried automatic unpacking with just <code>{a}</code></h3>
  
  <p>Perhaps, I was overthinking the whole procedure and hoping for some form of automatic unpacking.  This simply yielded the list representation with the curly brackets being replaced with <code>[]</code> :</p>
  
  <pre><code>&gt;&gt;&gt; f'unpack a list {a}'
  "unpack a list [1, 'a', 3, 'b']"
  </code></pre>
  
  <p>What is required to suppress the curly brackets in variant (2) above, or must I keep using the existing <code>.format()</code> method?  I want to keep it simple and use the new capabilities offered by the f-string and not revert back beyond the python versions which pre-date what I am currently comfortable with.  I am beginning to suspect that f'strings' do not offer a complete coverage of what is offered by its <code>.format()</code> sibling.  I will leave it at that for now, since I haven't even ventured into the escape encoding and the inability to use \ in an f-string.  I have read the PEP and search widely, however, I feel I am missing the obvious or what I wish for is currently not possible.</p>
  
  <p>EDIT several hours later:</p>
  
  <h3>4) Use subscripting to manually slice off the brackets: <code>str(a)[1:-2]</code></h3>
  
  <p>I did find this variant which will serve for some cases that I need</p>
  
  <pre><code>f'unpack a list: {str(a)[1:-2]}'
  "unpack a list: 1, 'a', 3, 'b"
  </code></pre>
  
  <p>But the slicing is little more than a convenience and still leaves the string quotes around the resultant.</p>
  
  <h3>5)  and the final solution from @SenhorLucas</h3>
  
  <pre><code> a = np.arange(10)
  
  print(f"{*a,}")
  (0, 1, 2, 3, 4, 5, 6, 7, 8, 9)
  </code></pre>
  
  <p>Unpacking with trailing comma.</p>