I have a nested list as the following example (want to remove lists with same or incremented elements such as {1,2,3,4,5}, {2,2,2,2,2}, {1,1,1,1,1}
):
test={{1,2,3,4,5}, {1,1,1,1,1}, {2,4,6,8,10}, {2,2,2,2,2}, {3,5,2,4,8}};
test1=DeleteCases[test,{1,2,3,4,5}];
test1=DeleteCases[test1,{1,1,1,1,1}];
test1=DeleteCases[test1,{2,2,2,2,2}];
So the result is test1={{3,5,2,4,8}}
(here I also delete the case {2,4,6,8,10} due to the equal increaments).
With the above way I can get the list which removes the list that elements are the same or incremented.
The problem is when the test
is very large and I don't know what exactly elements are, how can I efficiently remove the lists where elements are the same or incremented? Is there a clever way to do this?
Thanks for all the help in advance!
{-1,-2,-3,-4,-5}
also to be removed? It has constant increment-1
. $\endgroup$Select[test, (! Equal @@ #) && (! Equal @@ Differences[#]) &]
orDeleteCases[_?(MatchQ[{((n_) ..)}]@*Differences)]@test
$\endgroup$