Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.python > #24666
| Date | 2012-06-29 18:02 +0100 |
|---|---|
| From | MRAB <python@mrabarnett.plus.com> |
| Subject | Re: format() not behaving as expected |
| References | <7d1714cb-7aea-4048-bdc5-1b65d0f6c109@googlegroups.com> |
| Newsgroups | comp.lang.python |
| Message-ID | <mailman.1636.1340989364.4697.python-list@python.org> (permalink) |
On 29/06/2012 17:31, Josh English wrote:
> I have a list of tuples, and usually print them using:
>
> print c, " ".join(map(str, list_of_tuples))
>
> This is beginning to feel clunky (but gives me essentially what I want), and I thought there was a better, more concise, way to achieve this, so I explored the new string format and format() function:
>
>>>> c = (1,3)
>>>> s = "{0[0]}"
>>>> print s.format(c)
> '1'
>>>> print format(c,s)
> Traceback (most recent call last):
> File "<interactive input>", line 1, in <module>
> ValueError: Invalid conversion specification
>
> I'm running *** Python 2.7.2 (default, Jun 12 2011, 15:08:59) [MSC v.1500 32 bit (Intel)] on win32. ***
> (This is actually a PortablePython run on a Windows 7 machine)
>
> Any idea why one form works and the other doesn't?
>
The ".format" method accepts multiple arguments, so the placeholders in
the format string need to specify which argument to format as well as
how to format it (the format specification after the ":").
The "format" function, on the other hand, accepts only a single
argument to format, so it needs only the format specification, and
therefore can't accept subscripting or attributes.
>>> c = "foo"
>>> print "{0:s}".format(c)
foo
>>> format(c, "s")
'foo'
Back to comp.lang.python | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
format() not behaving as expected Josh English <Joshua.R.English@gmail.com> - 2012-06-29 09:31 -0700
Re: format() not behaving as expected MRAB <python@mrabarnett.plus.com> - 2012-06-29 18:02 +0100
Re: format() not behaving as expected Josh English <Joshua.R.English@gmail.com> - 2012-06-29 10:19 -0700
Re: format() not behaving as expected MRAB <python@mrabarnett.plus.com> - 2012-06-29 18:41 +0100
Re: format() not behaving as expected Josh English <Joshua.R.English@gmail.com> - 2012-06-29 10:19 -0700
Re: format() not behaving as expected Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2012-06-29 17:08 +0000
Re: format() not behaving as expected Josh English <Joshua.R.English@gmail.com> - 2012-06-29 10:24 -0700
csiph-web