This website is made for modern browsers. You are
seeing this, because your browser is missing a feature or two. Please
install the latest update or switch to a modern
browser. See you soon.
The methods presented below can be used to merge and combine lists or to replace
list items. The goal is to work with several lists and their matching.
See Filter lists to learn about extracting specific items from a
list.
Merge data streams (Merge)
The component Merge
Merge(Merge)
Sets > Tree > Merge
Merge a bunch of data streams
Inputs
Data 1 (D1)
Data stream 1
Data 2 (D2)
Data stream 2
Outputs
Result (R)
Result of merge
can be used to merge various lists (and data
trees). If an undesired data tree
This page is not finished yet.
is
created, the option Flatten can be used on the inputs to obtain a single list
as output. It is possible to add and remove inputs via the ZUI.
Choose items by selecting each index individually (Pick’n’Choose)
The component Pick'n'Choose
Pick'n'Choose(P'n'C)
Sets > List > Pick'n'Choose
Pick and choose from a set of input data.
Inputs
Pattern (P)
Pick pattern of input indices
Stream 0 (0)
Input stream 0
Stream 1 (1)
Input stream 1
Outputs
Result (R)
Picked result
will merge items from various list
according to a pattern of selectors at input P. If the pattern is depleted,
it will not be repeated; the emitted list will have the same length as the
pattern. More input s can be added via ZUI.
Choose items with a given pattern (Weave)
The component Weave
Weave(Weave)
Sets > List > Weave
Weave a set of input data using a custom pattern.
Inputs
Pattern (P)
Weave pattern of input indices
Stream 0 (0)
Input stream 0
Stream 1 (1)
Input stream 1
Outputs
Weave (W)
Weave result
will also merge items from various lists
according to a given pattern at input P. However, unlike Pick’n’Choose,
the pattern is repeated if the input lists are longer than the pattern. Again,
the ZUI can be used to add more inputs.
Once all items in a list are used up, data items are still added to the output
if there are items left in other lists. This way, the desired pattern may be
violated towards the end. To avoid this, null-items can be added by
right-clicking the component and selecting Insert Nulls.
Fill the index of null-items with other items (Combine Data)
If a list contains any null-items, the component Combine Data
Combine Data(Combine)
Sets > List > Combine Data
Combine non-null items out of several inputs
Inputs
Input 0 (0)
Data to combine
Input 1 (1)
Data to combine
Outputs
Result (R)
Resulting data with as few nulls as possible
Index (I)
Index of input that was copied into result
can
be used to fill their indices with items from another list that has the same
index. The ZUI can be used to add additional inputs.
Replace null-items with other items (Replace Nulls)
The component Replace Nulls
Replace Nulls(NullRep)
Sets > List > Replace Nulls
Replace nulls or invalid data with other data
Inputs
Items (I)
Items to test for null
Replacements (R)
Items to replace nulls with
Outputs
Items (I)
List without any nulls
Count (N)
Number of items replaced
is similar to Combine Data, but it’s
not using replacement items with the same index. Instead, the replacement items
are pulled consecutively from the spare list.
Replace items in a list (Replace)
The component Replace Items
Replace Items(Replace)
Sets > List > Replace Items
Replace certain items in a list.
Inputs
List (L)
List to modify
Item (I)
Items to replace with. If no items are supplied, nulls will be inserted.
Indices (i)
Replacement index for each item
Wrap (W)
If true, indices will be wrapped
Outputs
List (L)
List with replaced values
can be used to replace items in a given
list L with items provided at input I. Input i states which indices
will be replaced with new items. If there are no items given at input I,
null-items will be used as replacement.
Add elements to a list (Insert Items)
The component Insert Items
Insert Items(Ins)
Sets > List > Insert Items
Insert a collection of items into a list.
Inputs
List (L)
List to modify
Item (I)
Items to insert. If no items are supplied, nulls will be inserted.
Indices (i)
Insertion index for each item
Wrap (W)
If true, indices will be wrapped
Outputs
List (L)
List with inserted values
can be used to add additional items to a
list L. Input I is providing the items and input i sets their
corresponding new index.
Interconnect items (Cross Reference)
The component Cross Reference
Cross Reference(CrossRef)
Sets > List > Cross Reference
Cross Reference data from multiple lists
Inputs
List (A) (A)
List (A) to operate on
List (B) (B)
List (B) to operate on
Outputs
List (A) (A)
Adjusted list (A)
List (B) (B)
Adjusted list (B)
can be used to form an
interconnection between the items of the input lists (more can be added via ZUI). By default, all items from one list are connected with all
others from another list. The component can be
right-clicked and another combination patterns may be chosen.
Equalize the length of lists (Longest List, Shortest List)
The component Longest List
Longest List(Long)
Sets > List > Longest List
Grow a collection of lists to the longest length amongst them
Inputs
List (A) (A)
List (A) to operate on
List (B) (B)
List (B) to operate on
Outputs
List (A) (A)
Adjusted list (A)
List (B) (B)
Adjusted list (B)
can be used to make a shorter list match
its length. By default, this is done by repeating the last item the necessary
number of times. This is also the default behavior for most components that take
2 or more corresponding data inputs. Longest List can be right-clicked to
choose different options of how to extend the shorter list.
If the longer list should be shortened to match the shorter list, then Shortest List
Shortest List(Short)
Sets > List > Shortest List
Shrink a collection of lists to the shortest length amongst them
Inputs
List (A) (A)
List (A) to operate on
List (B) (B)
List (B) to operate on
Outputs
List (A) (A)
Adjusted list (A)
List (B) (B)
Adjusted list (B)
can be used. Also, different options can be selected in the
context menu. Both components can be extended via ZUI to add more inputs.
Merge lists by considering their values
The components introduced so far operate on list items independent of their
values. In the ribbon tab Sets there is a subgroup Sets which contains
several components that operate with lists but regard the items' values. This is
only possible for Primitive Data Types, which are texts, numbers and data that
can be cast in string format (like points and
vectors).
The component Set Union
Set Union(SUnion)
Sets > Sets > Set Union
Creates the union of two sets (the collection of unique objects present in either set).
Inputs
Set A (A)
Data for set Union.
Set B (B)
Data for set Union.
Outputs
Union (U)
The Set Union of A and B.
can be used to merge two or more lists into
one by avoiding duplicate values. Thus, we receive unique values.
Other components work similarly, like Set Difference (S)
Set Difference (S)(ExDiff)
Sets > Sets > Set Difference (S)
Create the symmetric difference of two sets (the collection of objects present in A or B but not both).
Inputs
Set A (A)
First set for symmetric difference.
Set B (B)
Second set for symmetric difference.
Outputs
ExDifference (X)
The symmetric difference between A and B.
(emits values that occur only once in all input lists) or Set Intersection
Set Intersection(Intersection)
Sets > Sets > Set Intersection
Creates the intersection of two sets (the collection of unique objects present in both sets).
Inputs
Set A (A)
Data for set Intersection
Set B (B)
Data for set Intersection
Outputs
Union (U)
The Set Union of all input sets
(emits values that occur in each of the input lists).
Combine lists into one item
For Primitive Data Types (see above) it’s possible to combine their values
into a single string with the component Concatenate
Concatenate(Concat)
Sets > Text > Concatenate
Concatenate some fragments of text
Inputs
Fragment A (A)
First text fragment
Fragment B (B)
Second text fragment
Outputs
Result (R)
Resulting text consisting of all the fragments
. A separator can be set in the context menu (here space) and
additional input grips can be added via ZUI.
The component Text Join
Text Join(Join)
Sets > Text > Text Join
Join a collection of text fragments into one
Inputs
Text (T)
Text fragments to join.
Join (J)
Fragment separator.
Outputs
Result (R)
Resulting text
is similar and will combine all values in a
list T with a given separator J (here space).
These methods, and other components in Sets > Text, can be quite helpful to
convert data to a text format that can then be exported to other programs.
This page is open source. Edit it on GitHub or see how you can contribute.