print() a list
Dero
pict100 at gmail.com
Sat Sep 5 02:51:16 EDT 2009
On Sep 5, 2:35 pm, "Mark Tolonen" <metolone+gm... at gmail.com> wrote:
> "DarkBlue" <pict... at gmail.com> wrote in message
>> news:b9c0c4ac-5f8f-4133-b928-9e55ab4b22a0 at x5g2000prf.googlegroups.com...
>>>> >I am trying to get used to the new print() syntax prior to installing
> > python 3.1:
>> > test=[["VG", "Virgin Islands, British"],["VI", "Virgin Islands, U.S."],
> > ["WF", "Wallis and Futuna"],["EH", "Western Sahara"],["YE", "Yemen"],
> > ["ZM", "Zambia"],["ZW", "Zimbabwe"],]
>> > #old print
>> > for z in test:
> > if z[0].startswith('W'):
> > print z[0] , z[1]
>> > print
>> > # new print()
> > # now a list would have to be printed like this to be equal to old
> > print ?
>> > for z in test:
> > if z[0].startswith('W'):
> > print('%s %s') % (z[0] , z[1])
>> > print
>> > # this output prints the brackets etc. too, not what we want
>> > for z in test:
> > if z[0].startswith('W'):
> > print(z[0] , z[1])
>> > print
>> > on python 2.6 I get following output:
>> > WF Wallis and Futuna
>> > WF Wallis and Futuna
>> > ('WF', 'Wallis and Futuna')
>> > Before actually installing python 3.1 my question is if the py2to3
> > converter also considers this situation ?
>> Without the following statement, print does not work the "new" way. What
> you are printing is a tuple of the two list elements.
>> from __future__ import print_function
>> test = [
> ["VG", "Virgin Islands, British"],
> ["VI", "Virgin Islands, U.S."],
> ["WF", "Wallis and Futuna"],
> ["EH", "Western Sahara"],
> ["YE", "Yemen"],
> ["ZM", "Zambia"],
> ["ZW", "Zimbabwe"]]
>> for z in test:
> if z[0].startswith('Z'):
> print(z[0],z[1])
> print()
>> ----results----
> ZM Zambia
> ZW Zimbabwe
>> Comment out "from __future__ import print_function" and you'll get:
Thank you.
I thought in 2.6 both print and print() were equally implemented
without the future import requirement.
More information about the Python-list
mailing list