Re: list mutability (very basic question)

*To*: mathgroup at smc.vnet.net*Subject*: [mg131709] Re: list mutability (very basic question)*From*: Alan G Isaac <alan.isaac at gmail.com>*Date*: Sun, 22 Sep 2013 02:47:01 -0400 (EDT)*Delivered-to*: l-mathgroup@mail-archive0.wolfram.com*Delivered-to*: l-mathgroup@wolfram.com*Delivered-to*: mathgroup-outx@smc.vnet.net*Delivered-to*: mathgroup-newsendx@smc.vnet.net*References*: <20130921083830.751226A65@smc.vnet.net> <CAEtRDScmG_YsoM-NJHfkvJV74gKmLeQCB8xknARWW9L3v31zaQ@mail.gmail.com>

On 9/21/2013 10:15 AM, Bob Hanlon wrote: > Attributes[Set] > {HoldFirst, Protected, SequenceHold} Thanks, but I'm still unclear: why does ``{0}[[1]]=1`` raise an error? As a point of reference for my confusion, Python behaves in a way I find more intuitive: ``[0,1][1]=0`` does not raise an error. (This becomes an interesting difference when we get to argument passing in Mathematica, where HoldFirst becomes useful as a way to allow "in place" modification.) Back to Mathematica, am I understanding correctly that after ``Set[Part[x,1],1])`` that x still references the same location in memory? How can I easily see that? (E.g., in Python, I would us the ``id`` function.) Thanks, Alan Isaac

**Follow-Ups**:**Re: list mutability (very basic question)***From:*Murray Eisenberg <murray@math.umass.edu>

**References**:**list mutability (very basic question)***From:*Alan <alan.isaac@gmail.com>