On 02/23/2015 07:55 AM, ast wrote:
hi
a = 2; b = 5
Li = [a, b]
Li
[2, 5]
a=3
Li
[2, 5]
Ok, a change in a or b doesn't impact Li. This works as expected
Is there a way to define a container object able to store some variables
so that a change of a variable make a change in this object content ?
I dont need this feature. It is just something I am thinking about.
In C language, there is &A for address of A
When you do an "a=3" you are rebinding a, and that has no connection to
what's in the list. If you were to modify the object that a and L1[0]
share, then yes, the modifications would affect both sides.
However, an int is immutable, so you cannot directly do it.
The simplest approximation to what you're asking is to use a list within
the list.
a = [42]; b = 65
L1 = [a, b]
a[0] = 99 #this doesn't rebind a, just changes the list
# object it is bound to
print(L1)
yields:
[[99], 65]
Clearly, instead of a list, you could use some other mutable object. In
fact, you could use something like:
class Dummy(object):
pass
a = Dummy()
a.value = 12
...
--
DaveA
--
https://mail.python.org/mailman/listinfo/python-list