"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:
--
http://mail.python.org/mailman/listinfo/python-list