if does not evaluate
James Moughan
moughanj at tcd.ie
Sat Jun 12 01:00:32 EDT 2004
Jim Newton <jimka at rdrop.com> wrote in message news:<2it0kiFqud3kU1 at uni-berlin.de>...
> > (define has-element (cond list)
> > (equal () (member-if #'cond list))))
> >
> > Well, it's definitely short. It doesn't exactly translate well,
> > though; search the list for a sub-list that starts with an element
> > which evaluates to true under cond. Evaluate to the equality of that
> > list with the null list. Hmmm.
> >
>
> Not sure what you mean by "does not translate well?"
See the later part of my post. :)
>Although maybe
> i misunderstand, but it looks like you are naming the function the
> opposite of what it does?
>
> (define has-not-element ( cond list)
> (null (member-if #'cond list)))
>
> Are you really trying to find out whether the condition fails
> for every element of the list?
>
Well, I am, but I intended to put a not in front of it! (not (null
(member-if #'cond list))) in effect.
> By the way, how do you find out in Python if there is
> a member of a list that matches a condition? It is something
> i often and never know the best way to do it? I can
> use a list compression to find ALL the matches, but what
> if i only want to know whether or not there is a match?
>
> -jim
In Lisp style- write a function to do it.
More information about the Python-list
mailing list