Single format descriptor for list

Grobu snailcoder at retrosite.invalid
Wed Jan 20 09:55:13 EST 2016


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() ) ),
# ------------------------------------




More information about the Python-list mailing list