On 20/01/16 10:35, Paul Appleby wrote:
In BASH, I can have a single format descriptor for a list:
$ a='4 5 6 7'
$ printf "%sth\n" $a
4th
5th
6th
7th
Is this not possible in Python? Using "join" rather than "format" still
doesn't quite do the job:
a = range(4, 8)
print ('th\n'.join(map(str,a)))
4th
5th
6th
7
Is there an elegant way to print-format an arbitrary length list?
In Python 2.7 :
# ------------------------------------
a = '4 5 6 7'
for item in a.split():
print '%sth' % item
# ------------------------------------
or
# ------------------------------------
a = '4 5 6 7'.split()
print ('{}th\n' * len(a)).format(*a),
# ------------------------------------
or
# ------------------------------------
a = '4 5 6 7'
print ''.join( map( '{}th\n'.format, a.split() ) ),
# ------------------------------------
--
https://mail.python.org/mailman/listinfo/python-list