Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Appending an element to a list

1 view
Skip to first unread message

Felix Farkas

unread,
Jun 15, 2000, 3:00:00 AM6/15/00
to

Hello,
i do have a problem, which is probably very easy, but i couldn't find
a reasonable way to solve it. I would appreciate very much any hint.

I have a list of lists. My purpose is to append a new elements to this
list. These elements are generated by some function. Sometimes the
output of the function is an empty list meaning no element. In this
situation Append includes the new element in the list. i would like to
avoid this behaviour.

ex:

In[1]:= d={}
Out[1]= {}

In[2]:= Append[{{2,2},{3,3}},d]
Out[2]:= {{2,2},{3,3},{}}


Thanks in advance. Felix Farkas

Hartmut Wolf

unread,
Jun 16, 2000, 3:00:00 AM6/16/00
to
Felix Farkas schrieb:

Perhaps this might be useful:

In[1]:= appendnoemptylistTo[expr_, {}] := expr
In[2]:= appendnoemptylistTo[expr_, elem_] := AppendTo[expr, elem]
In[3]:= b = d = e = {};

In[7]:= collector = {};
In[8]:=
Scan[appendnoemptylistTo[Unevaluated[collector], #] &, {a, b, c, d, e, f}]

In[9]:= collector
Out[9]= {a, c, f}

Kind regards,
Hartmut Wolf

Jens-Peer Kuska

unread,
Jun 16, 2000, 3:00:00 AM6/16/00
to
Hi,

the good old If[] is not working any more ?

If[d=!={},
AppendTo[list,d]
]

your ReplaceAll

AppendTo[list,d] /. {}-> Sequence[]

is broken too ?
The pattern matcher don't work with

myAppend[lst_, {}] := lst
myAppend[lst_, ll_] := Append[lst, ll]

lst=myAppend[lst,d]

Than I have no idea
Regards
Jens

Felix Farkas wrote:
>
> Hello,


> i do have a problem, which is probably very easy, but i couldn't find
> a reasonable way to solve it. I would appreciate very much any hint.
>
> I have a list of lists. My purpose is to append a new elements to this
> list. These elements are generated by some function. Sometimes the
> output of the function is an empty list meaning no element. In this
> situation Append includes the new element in the list. i would like to
> avoid this behaviour.
>
> ex:
>
> In[1]:= d={}
> Out[1]= {}
>
> In[2]:= Append[{{2,2},{3,3}},d]
> Out[2]:= {{2,2},{3,3},{}}
>

0 new messages