Let’s say I have the following code inside a GHPython component:
import Rhino.Geometry as rg import random TIME = 100 random.seed(2) class MyClass: def __init__(self): self.my_list =  def update(self): pt = rg.Point3d(random.random(), random.random(), random.random()) self.my_list.append(pt) mc = MyClass() time_list =  for t in range(TIME): # moment in time mc.update() print mc.my_list time_list.append(mc.my_list) a = time_list
The goal is to output the list of lists
time_list, which includes a list of points, provided by the class
MyClass for each moment in time. I have no problems converting the nested list to a tree, but my issue lies with how the component runs, at least I believe so.
If I output the nested list, all of its sublists are already populated with a
TIME-number of points (here 100).
However, what I want is an increasing number of points per sublist over time. For example, at the first iteration of the for loop, only one point should be in the first sublist, than 2 points, after that 3, … and 100 points at iteration
TIME-1 (here 99).
This way I want to keep track of what happens at each moment in time. Furthermore, I could probably animate the process by looping through the tree branches with a Timer and Counter combo.
I guess my problem stems from the refresh rate of the component itself, or something like that. When I
print mc.m_list inside the for loop, just before appending it to the
time_list, the printed output shows the right result (i-number of points per sublist). However, the sublists of the
time_list after the for loop, all have
TIME-number of points inside (here 100). How can that even be?