Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.python > #28625
| Date | 2012-09-06 14:18 -0400 |
|---|---|
| From | Dave Angel <d@davea.name> |
| Subject | Re: How to print something only if it exists? |
| References | <9s4nh9-8dr.ln1@chris.zbmc.eu> |
| Newsgroups | comp.lang.python |
| Message-ID | <mailman.319.1346955517.27098.python-list@python.org> (permalink) |
On 09/06/2012 01:59 PM, tinnews@isbd.co.uk wrote:
> I want to print a series of list elements some of which may not exist,
> e.g. I have a line:-
>
> print day, fld[1], balance, fld[2]
>
> fld[2] doesn't always exist (fld is the result of a split) so the
> print fails when it isn't set.
>
> I know I could simply use an if but ultimately there may be more
> elements of fld in the print and the print may well become more
> complex (most like will be formatted for example). Thus it would be
> good if there was some way to say "print this if it exists".
>
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).
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?
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.
Alternatively, perhaps there's some association between the day and the
fld(1), and the balance and the fld(2). in that case, probably you want
to make a loop out of it, and only print each pair if they're both
available. Something like:
for tag, value in zip((something, day, balance), fld):
print tag, value, ""
--
DaveA
Back to comp.lang.python | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
How to print something only if it exists? tinnews@isbd.co.uk - 2012-09-06 18:59 +0100
Re: How to print something only if it exists? Emile van Sebille <emile@fenx.com> - 2012-09-06 11:19 -0700
Re: How to print something only if it exists? Dave Angel <d@davea.name> - 2012-09-06 14:18 -0400
Re: How to print something only if it exists? tinnews@isbd.co.uk - 2012-09-08 11:02 +0100
Re: How to print something only if it exists? Dave Angel <d@davea.name> - 2012-09-08 07:08 -0400
Re: How to print something only if it exists? Terry Reedy <tjreedy@udel.edu> - 2012-09-06 15:34 -0400
Re: How to print something only if it exists? Hans Mulder <hansmu@xs4all.nl> - 2012-09-07 11:37 +0200
Re: How to print something only if it exists? Roy Smith <roy@panix.com> - 2012-09-07 09:16 -0400
RE: How to print something only if it exists? "Prasad, Ramit" <ramit.prasad@jpmorgan.com> - 2012-09-13 17:48 +0000
csiph-web