Drop Every Nth Item

I think the ‘Offset’ input on the List.DropEveryNthItem node is malfunctioning. Please correct me if my thinking is wrong - I would expect the ‘Offset’ to remove the first ‘x’ items from the beginning of the list, then drop every ‘Nth’ item from remainder of the list. The way ‘Offset’ is currently working is it removes only the 'x’th item from the list.

I would think the ‘1’ should not be in the list below:

DropEveryNthItem

 

 

The “offset” input offsets the pattern. In this case, you are dropping every third item, and the offset tells the node where to start that process. Curious, why do you think it makes more sense to also drop the beginning of the list?

Colin,

Thanks for your reply. That clarifies the behavior a little bit for me.

The ‘offset’ input is however doing a little more an just telling the node where to start the pattern; it is also dropping that starting item from the list. correct? is that an intended behavior?

To answer your questions, it is not my opinion that dropping the beginning of the list would make more functional sense. To me, it would make more semantic sense if:

  1. ‘offset’ either drops the beginning of the list till the ‘offset’ item as mentioned in my initial post, or

  2. ‘offset’ doesn’t drop any item, but only truly offsets the pattern, as mentioned in your response.

It is the dropping and offsetting by ‘offset’ that I find confusing. ‘n’ should do the dropping, ‘offset’ should do the offsetting. IMHO.

Hi Assem, thanks for the follow up. This question has come up before, and I want to make sure I understand all the concerns. I played a bit with what you are saying, particularly point 2. I think that is what is happening. When I set up the list 1…10 as you had, and set n=3, here are the results for various offsets:

Capture

So a zero offset (the default) drops every third item starting from the beginning, and the offset parameter moves the pattern to the right by that number of items. Is this what what you would expect to see?

2 Likes

Colin,

Thanks for indulging me on this. The graphic you attached is very helpful. I am assuming blue are the items returned by the node, and grey are the dropped items. The graphic you attached is how the node is currently behaving. If you notice, here is where the confusion arises - offset 0, and offset 3 are producing identical result.

For it to truly behave like point ‘2’ in my post above, I would expect the following results:

DropEveryNthItem_feedback

Got it. I have seen others point this out as confusing or counter-intuitive as well, and your input is helpful for trying to figure out how to suggest Dynamo should meet expectations. Thanks for indulging me.