Lisp: Extract highest/lowest v
O.K, If I have a list,is there a function that will allow me to extract the highest value and/or lowest value?I don't care about duplicates.
In thinking about this, I could probably accomplish this task by using nth values and performing comparisons but that seems tedious. I was hoping I could do it in a single shot with a function.
Sample:
(setq MyList ((2.00000 26.0000 26.0000 25.6250 25.6250 3.00000 3.00000 2.00000))
This is what I'm after:
(setq LowVal (MyList))
(setq HighVal(MyList))
Thanks again for any help
---AJS ajs,
From your questions, you really need to get a reference with all the lisp functions to scan through, even search.
See 'max & 'min functions.... Thanks for the reply. I think you're right about the search function. I do have a function list but sometimes after reading it over and over, I find that I will (through carelessness)skip over something.
An example would be my earlier question on length, for some reason, I thought that the length function applied to strings and thus I didn't examine it properly.
I'm going to go online and see if I can find a searchable lisp function list.
I do appreciate the help of course. Thank you
---AJS You're welcome.
A summary of fiuctions, alphabetical & by category is at http://ronleigh.info/autolisp/acatalog.htm
The reference "alispref.pdf" is quite handy, I'd upload it except it's much larger than allowed at this site, maybe you can find it elsewhere... Command: (apply 'min '(4 6 1 8 0.5 12))0.5Command: (apply 'max '(4 6 1 8 0.5 12))12.0 The function MAX doesn´t seem to work with a already defined list of reals, eg:
Command: !(Setq A '(1.0 1.2 2.1 3.4))
(1.0 1.2 2.1 3.4))
Command: !(Max A)
; error: bad argument type: numberp: (1.0 1.2 2.1 3.4)
Command: !(Apply 'Max A)
; error: bad argument type: numberp: (1.0 1.2 2.1 3.4)
Any sugestion?? Worked for me
Hey ajs
There is no need to use the ! if you are defining a function on the command line
Just use as lpseifert has shown
I don't mean to hijack this thread, but (somewhat related) how would I obtain values that are repeated in a list?
e.g. (setq list1 (a b b c)) - how do you extract the value of b? Thanks, for help.
The function work fine. I had a problem, because my list has a 'nil' element.
页:
[1]
2