Say I have some function that I'm applying every element in a list to... if that element matches some criteria:
If[#==,{#}, ] & /@ LongList
Is there a way to do something like this? I want the result to just not have that element.
Answer
This specific behaviour can be achieved using
If[condition, something, Unevaluated@Sequence[]]& /@ list
The key is Sequence[]. Unevaluated prevents it from disappearing from inside the If.
Alternatively you can use Cases (or many other solutions shown in other answers and comments---some of these solutions may be better suited for the problem but Sequence[] has its place too).
Cases[list, element_ /; condition :> something]
Comments
Post a Comment