Skip to content Skip to sidebar Skip to footer

Multiple References In Separate Lists; Python

I'm trying to basically create references to plot multiple relationships and store them in a list or possibly a dictionary. Basically: variable1 = 10 //in this case, 'ref' denote

Solution 1:

What about two lists, each containing keys of the same collection, say dictionary?

For example:

MASTER = [10,11,12,13,14]

LISTA = [0,1,2]
LISTB = [0,3,4]

for i in LISTA: MASTER[i] += 10
for i in LISTB: MASTER[i] += 10

print MASTER[LISTA[0]]

print MASTER[LISTB[0]]

ideone example

Or using a wrapper class:

class SharedInt:
    val = None
    def __init__(self, v): self.val = v

    def __add__(self, a): 
        self.val += a
        return self.val

    def __int__(self): return self.val

v1 = SharedInt(10)

listA = [v1, 11, 12]
listB = [v1, 13, 14]

for i in listA: i += 10
for i in listB: i += 10

print int(listA[0])
print int(listB[0])

ideone example

Lastly, or using embedded lists:

v1 = [10]

listA = [v1, 11, 12]
listB = [v1, 13, 14]

for i in listA: 
    if isinstance(i, list): i[0] += 10 
    else: i += 10
for i in listB: 
    if isinstance(i, list): i[0] += 10 
    else: i += 10

print listA[0]
print listB[0]

ideone example

Note that the first example treats all of your ListX members as "references" while the last two examples treats the members as "values", unless you make them SharedInt()s or enclose them in a list respectively.

In other words,

LISTA[1] = 21 # First example
ListA[1] = 11 # Second, third examples

Post a Comment for "Multiple References In Separate Lists; Python"