List Modifier¶
This node offers an assortment of list modification functions. The node has both Unary and Binary modes.
- In Unary mode it will use the input of either sockets, it will use data1 first, then check data2
- If both are linked data1 is used.
- The node will draw the name of the current mode into the node header, useful for minimized nodes.
Behaviour¶
Modes | inputs | Behaviour Description |
---|---|---|
Set | unary | turns the valid input into a set input = [0,0,0,1,1,1,3,3,3,5,5,5,6,7,8,4,4,4,6,6,6,7,7,7,8]
output = [set(input)]
|
Ordered Set by input | unary | only unique numbers but ordered by the original input sequence input = [0,0,0,1,1,1,3,3,3,5,5,5,6,7,8,4,4,4,6,6,6,7,7,7,8]
output = [0,1,3,5,6,7,8,4]
|
Unique Consecutives | unary | no consecutive repeats input = [0,0,0,1,1,1,3,3,3,5,5,5,6,7,8,4,4,4,6,6,6,7,7,7,8]
output = [0,1,3,5,6,7,8,4,6,7,8]
|
Sequential Set | unary | unique input values, ordered by their value input = [0,0,0,1,1,1,3,3,3,5,5,5,6,7,8,4,4,4,6,6,6,7,7,7,8]
output = [0,1,3,4,5,6,7,8]
|
Sequential Set Rev | unary | unique input values, ordered by their value, reversed input = [0,0,0,1,1,1,3,3,3,5,5,5,6,7,8,4,4,4,6,6,6,7,7,7,8]
output = [8,7,6,5,4,3,1,0]
|
Normalize | unary | scales down the values in the list to the range -1.0 .. 1.0 |
Accumulating Sum | unary | see input = list(accumulate(range(10)))
output = [0,1,3,6,10,15,21,28,36,45]
|
Mask Subset | binary | generates a mask to indicate for each value in A whether it appears in B A = [0,1,2,3,4,5,6,7]
B = [2,3,4,5]
output = [False, False, True, True, True, True, False, False]
|
Intersection | binary | returns the set of items that appear in both A and B |
Union | binary | returns the set of items A joined with B |
Difference | binary | returns the set of items from A that don’t appear in B |
Symmetric Diff | binary | returns the set of elements of A and B that don’t appear in Both |
output as list
The boolean switch to output as list will be on by default, essentially it will wrap the output as a list because true sets don’t have a defined order (which we do need most of the time).
Example¶
See the pullrequest for details : https://github.com/nortikin/sverchok/pull/884
also see the original thread : https://github.com/nortikin/sverchok/issues/865