print function and unwanted trailing space

Chris Angelico rosuav at gmail.com
Sat Aug 31 18:08:04 EDT 2013


On Sun, Sep 1, 2013 at 1:43 AM, Oscar Benjamin
<oscar.j.benjamin at gmail.com> wrote:
> 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='')

I went with this version:

except StopIteration:
    raise

In other words, if it's going to bomb, let it bomb :)

ChrisA



More information about the Python-list mailing list