obj2 = ojb1 = range(len(somelist))
Cromwell, Jeremy
jcromwell at ciena.com
Thu Jan 31 20:16:37 EST 2002
More information about the Python-list mailing list
Thu Jan 31 20:16:37 EST 2002
- Previous message (by thread): obj2 = ojb1 = range(len(somelist))
- Next message (by thread): obj2 = ojb1 = range(len(somelist))
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
-----Original Message----- From: Tom Jenkins [mailto:tjenkins at devis.com] On Thu, 2002-01-31 at 17:28, David Bear wrote: > I wanted to create 2 distinct lists that were derived from range > function. rather that doing > > obj1 = range(len(somelist)) > obj2 = range(len(somelist)) > > I wanted to do > > obj2 = ojb1 = range(len(somelist)) > > Yet, both names point to the same object -- they're not two objects. > > Is there some other syntax that I could use to avoid having to call > range(len(list)) twice and still create two objects? i didn't think this was going to work but hey the interpreter was there <wink> >>> l1 = l2[:] = range(len(somelist)) >>> print l1, l2 [0, 1, 2, 3, 4] [0, 1, 2, 3, 4] >>> print id(l1), id(l2) 135566380 135560684 >>> -- At some point Tom must have defined l2 as a list. Here's a listing from scratch PythonWin 2.2 (#28, Dec 21 2001, 12:21:22) [MSC 32 bit (Intel)] on win32. Portions Copyright 1994-2001 Mark Hammond (mhammond at skippinet.com.au) - see 'Help/About PythonWin' for further copyright information. >>> obj2 = obj1[:] = range(10) Traceback (most recent call last): File "<interactive input>", line 1, in ? NameError: name 'obj1' is not defined >>> obj1 = 0 Traceback (most recent call last): File "<interactive input>", line 1, in ? NameError: name 'obj1' is not defined >>> obj1 = 0 >>> obj2 = obj1[:] = range(10) Traceback (most recent call last): File "<interactive input>", line 1, in ? TypeError: object does not support item assignment >>> obj1 = [] >>> obj2 = obj1[:] = range(10) >>> print id(obj1), id(obj2) 17584752 17586936 >>> obj1 is obj2 0 >>> print obj1, obj2 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> -Jeremy Cromwell
- Previous message (by thread): obj2 = ojb1 = range(len(somelist))
- Next message (by thread): obj2 = ojb1 = range(len(somelist))
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Python-list mailing list