tablemerge
merge tables
Calling Sequence
Parameters
Options
Summary
Description
Details
Examples
Compatibility
tablemerge(t1, t2, options)
tablemerge(t1, t2, f, b1, ..., bn, options)
t1, t2
-
tables or list/sets of equations
f
optional combiner function
b1, ..., bn
(optional) extra arguments
options
(optional) optional argument inplace
inplace = truefalse
Indicates that t1 should be modified in memory instead of allocating a new table.
Returns a table which is the result of merging tables t1 and t2 subject to optional combiner f.
tablemerge(t1,t2) returns a table t whose keys are all of the keys occurring in either of the tables t1 or t2. The entries in the merged table corresponding to these keys are determined as follows:
When a key k appears in exactly one of t1 or t2, the entry is unchanged from its original value in t1 or t2.
When a key appears in both t1 and t2 and a combiner f was not provided, the entry from t2 is used.
When a key k appears in both t1 and t2 and a combiner f was provided, the entry for k is f(t1[k],t2[k]).
Additional arguments b1, ..., bn are passed to f.
Each input t1 and t2 may also be a list or set of equations, in which case the merging is performed as though they were tables whose key/value pairs correspond to the equations. The object returned matches that of t1; if t1 is a list, the result is a list.
If t1 is a list, its key order is respected in the result. Similarly if both t1 and t2 are lists, any keys appearing in the result which were not present in t1 are ordered in the manner they appear in t2.
The indexing function for the table returned by tablemerge is identical to the indexing function for t1. Any indexing function used in t2 will be ignored in the merge.
Merge a table with entries for "lunch" and "dessert", overriding the latter.
tablemerge⁡table⁡lunch=sandwich,dessert=apple,table⁡dessert=orange
table⁡lunch=sandwich,dessert=orange
Merge using union as the merge operation.
tablemerge⁡table⁡1=2,3,5,2=6,10,15,table⁡1=7,11,13,`union`
table⁡1=2,3,5,7,11,13,2=6,10,15
Merge using concatenation as the merge operation.
tablemerge⁡table⁡Message=Hello ,table⁡Message=World!,cat
table⁡Message=Hello World!
Merge using concatenation, but using a custom delimiter as a 4th argument.
cat_delim := proc(x,y,delim) cat(x, delim, y) end proc:
tablemerge⁡table⁡pet=dog,vehicle=bike,table⁡pet=cat,vehicle=car,cat_delim,,
table⁡vehicle=bike,car,pet=dog,cat
Merge a table with symmetric indexing with one with ordinary indexing.
A≔table⁡symmetric,1,2=A
B≔table⁡1,2,3=B
C≔tablemerge⁡A,B
C≔table⁡symmetric,1,2,3=B,1,2=A
C3,1,2
B
Merge a list of equations with another list of equations.
L1≔A=1,B=3,C=5,E=9
L2≔B=8,D=7,Z=52
tablemerge⁡L1,L2
A=1,B=8,C=5,E=9,D=7,Z=52
The tablemerge command was introduced in Maple 2015.
For more information on Maple 2015 changes, see Updates in Maple 2015.
The tablemerge command was updated in Maple 2022.
The option was updated in Maple 2022.
See Also
indices
table
Download Help Document