This is certainly do-able. There are different approaches, depending on what you end goal is. The main principal though, is that it seems you want to first define a block, and then create many instances of it, which have been transformed in various ways. So you will want to define the block as a single cylinder, and translate, scale, etc. that block after it is defined:
As you can see, this will produce instances with different heights, but only a single block definition:
In this case, I made the cylinder with a unit height (“1”) and a unit radius, that way when you scale the item, you can just provide desired end value.
Note that here, all the blocks have a single definition. However, you could, if you wanted to, define a block for each radius value, and then only scale vertically. Maybe you want to be able to count how many instance of each radius, for example. That would require something slightly different.
However, there is another issue in your script, which has to do with your data streams going into the block component, where one is flattened and the other is grafted. This will be easier to see if you turn on the “Fancy Wires” display. I also note that, if you do indeed desire to create 12 unique blocks, you should provide 12 unique names.
I know this is several weeks after your question, but I hope that helps!