List Handling Confusion / Inconsistency


#1

I’ve come across this several times. It usually happens when using jagged lists (i.e. lists of lists). Using Dynamo 0.8.0.950

As an example see: http://dynamobim.com/forums/topic/building-lists-of-lists-from-other-lists-of-lists/

I’m referring to the way the AddToEnd node works through the List.Combine. I.e. in this sample:

 

BuildLists1

 

I mean it seems as if there’s an automatic List.Map applied to the first item. I.e. the above is actually doing this:

 

BuildLists2

 

So I’m guessing that Dynamo automatically applies a map to the panes where possible. But, if that’s so, then why does it not work when I try to do the same thing using AddToFront?

BuildLists3

 

 

I mean, it’s not as if there’s actually anything different between the 1st and the 3rd items - just the position into which it should add.

 

Is there some rule-of-thumb one can apply concerning when this automatic mapping happens and when it doesn’t? Or should one just do some trial-n-error until it works as you expected?


#2

It shouldn’t be any different, I agree. I think this is a bug, there’s no logical explanation. It should either work as in the List.AddItemToFront example or the list.AddItemToEnd example. I was actually surprised that using the “end” example worked that way as I expected the list to be mapped to the item instead. I think the unpredictability of the results and how some nodes work with lists and some don’t, is why I’m finding it so hard to fully understand how functions & combinators will shape the end result. I’m having to do a lot of trial & error to get to a solution.