On Sep 5, 2:35 pm, "Mark Tolonen" <metolone+gm...@gmail.com> wrote: > "DarkBlue" <pict...@gmail.com> wrote in message > > news:b9c0c4ac-5f8f-4133-b928-9e55ab4b2...@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. -- http://mail.python.org/mailman/listinfo/python-list