Solution 1:
>>> a=[2,3,1,4]
>>> b=a[:]
>>> a
[2, 3, 1, 4]
>>> b
[2, 3, 1, 4]
>>> a.sort()
>>> a
[1, 2, 3, 4]
>>> b
[2, 3, 1, 4]
>>>

Solution 2:

>>> from copy import deepcopy
>>> a=[2,1,3,4]
>>> b=deepcopy(a)
>>> a
[2, 1, 3, 4]
>>> b
[2, 1, 3, 4]
>>> a.sort()
>>> a
[1, 2, 3, 4]
>>> b
[2, 1, 3, 4]
>>>

HTH.

regards,
shantanoo

On 18-Sep-08, at 1:00 AM, Wayne Watson wrote:

I'm using Python 2.4 in Win XP. I was surprised to find the result below.

>>> a =[4,2,5,8]
>>> b = a
>>> a.sort()
>>> a
[2, 4, 5, 8]
>>> b
[2, 4, 5, 8]

b no longer has the same value as it began. Apparently to prevent sort from making it the same I have to resort to copying b into a first? What is the proper way to retain a variable with the original values of a?
--
           Wayne Watson (Watson Adventures, Prop., Nevada City, CA)

             (121.015 Deg. W, 39.262 Deg. N) GMT-8 hr std. time)
              Obz Site:  39° 15' 7" N, 121° 2' 32" W, 2700 feet

            "Though no one can go back and make a brand new start,
             ANYONE can start from now and make a brand new end."
                                    -- Anonymous

                    Web Page: <www.speckledwithstars.net/>
_______________________________________________
Tutor maillist  -  Tutor@python.org
http://mail.python.org/mailman/listinfo/tutor

_______________________________________________
Tutor maillist  -  Tutor@python.org
http://mail.python.org/mailman/listinfo/tutor

Reply via email to