[Python-ideas] generic Ref class
Aaron Brady
castironpi at comcast.net
Sat Jan 12 21:25:55 CET 2008
> -----Original Message-----
> From: python-ideas-bounces at python.org [mailto:python-ideas-
> bounces at python.org] On Behalf Of Aaron Brady
>
> > -----Original Message-----
> > From: python-ideas-bounces+castironpi=comcast.net at python.org
> > [mailto:python-ideas-bounces+castironpi=comcast.net at python.org] On
> Behalf
> > Of Adam Atlas
> >
> > On 12 Jan 2008, at 15:03, Aaron Brady wrote:
> > > Then:
> > >
> > > for x in refs( listA ):
> > > x.val+= 1
> > >
> > > Better than:
> > >
> > > for i, x in enumerate( listA ):
> > > listA[i]= x+ 1
> >
> > Don't these do different things? The latter modifies the original
> > list, while the former, with your Ref class, apparently modifies (in a
> > by-reference sense) a new list that is thrown away once the for loop
> > is done.
>
> Ah yes. Say:
>
> listA= refs( range( 20 ) ) #or your list
>
> then:
>
> for x in listA:
> x.val+= 1
>
> Slightly slower, but useful in addition to pass to functions too:
>
> def squareanint( intref ):
> intref.val**= 2
>
> a= 2
> squareanint( a )
> print a
And once again, I typo:
a= 2
squareanint( Ref( a ) )
print a
More information about the Python-ideas
mailing list