print function and unwanted trailing space

Oscar Benjamin oscar.j.benjamin at gmail.com
Sat Aug 31 11:43:59 EDT 2013


On 31 August 2013 16:30, Chris Angelico <rosuav at gmail.com> wrote:
>>
>> but doesn't solve all the cases (imagine a string or an iterator).
>
> Similar but maybe simpler, and copes with more arbitrary iterables:
>
> it=iter(range(5))
> print(next(it), end='')
> for i in it:
>     print('',i, end='')

If you want to work with arbitrary iterables then you'll want

it = iter(iterable)
try:
    val = next(it)
except StopIteration:
    pass  # Or raise or something?
else:
    print(val, end='')
for i in it:
    print('', i, end='')


Oscar



More information about the Python-list mailing list