How to print something only if it exists?

tinnews at isbd.co.uk tinnews at isbd.co.uk
Sat Sep 8 06:02:46 EDT 2012


Dave Angel <d at davea.name> wrote:
> Would you like to define "exists" ?  A list is not sparse, so all items
> exist if their subscript is less than the length of the list.  So all
> you need to do is compare 2 to len(fld).
> 
Yes, a I said a simple len(fld) will tell me if fld[2] 'exists' but it
gets messy if I have to do it in the middle of the print sequence.


> But perhaps there's another approach.  Just what DO you want to print if
> fld(1) exists, but fld(2) does not?  Do you still want to print out day,
> fld(1), and balance?  Or do you want to skip balance as well?
> 
Here's a sample of the file whose lines are being split() :-

    01     JB      0.00    Start of 2012, Initial balance
    02     BB      0.00
    13     ZB      0.00

I want to print out everything, it's just that in some cases there's
no descriptive text (the bit that ends up in fld[2]).


> if you literally want nothing printed for list elements beyond the end,
> then I'd add some extra empty-strings to the end of the list.
> 
> fld.extend("" * 5)
> 
> Now, subscripts 0 through 4 inclusive will work, as specified.
> 
That's probably the simplest approach, thank you.

-- 
Chris Green



More information about the Python-list mailing list