tuple_differencetuple_differenceTupleDifferenceTupleDifferencetuple_difference (Operator)
Name
tuple_differencetuple_differenceTupleDifferenceTupleDifferencetuple_difference
— Compute the difference set of two input tuples.
Signature
def tuple_difference(set_1: HTupleType, set_2: HTupleType) -> Sequence[HTupleElementType]
def tuple_difference_s(set_1: HTupleType, set_2: HTupleType) -> HTupleElementType
Description
tuple_differencetuple_differenceTupleDifferenceTupleDifferencetuple_difference
returns the difference set from
Set1Set1Set1set1set_1
and Set2Set2Set2set2set_2
in DifferenceDifferenceDifferencedifferencedifference
. For example,
if Set1Set1Set1set1set_1
contains the values [0,1,3,3,5] and Set2Set2Set2set2set_2
contains the values [2,3,5,10], the output DifferenceDifferenceDifferencedifferencedifference
is [0,1].
The operator also allows mixed types of elements in the input tuples.
However, the elements with different types will be considered as
different elements, i.e. 1.0 and 1 are different. Also, this means, if
Set1Set1Set1set1set_1
and Set2Set2Set2set2set_2
have different types of elements, their
difference set could be Set1Set1Set1set1set_1
itself. For example, if Set1Set1Set1set1set_1
contains the values [2,5,3] and Set2Set2Set2set2set_2
contains the values
[2.0,5.0,3.0], the output DifferenceDifferenceDifferencedifferencedifference
is [2,3,5]. Please note that
the order of tuple elements resulting from tuple_differencetuple_differenceTupleDifferenceTupleDifferencetuple_difference
does
not necessarily conform to the order in the input tuple.
Exception: Empty input tuples
If both input tuples are empty, the operator returns an empty tuple. If
Set1Set1Set1set1set_1
is empty and Set2Set2Set2set2set_2
is not, the operator returns
an empty tuple as well. If Set2Set2Set2set2set_2
is empty and Set1Set1Set1set1set_1
is
not, the output corresponds to Set1Set1Set1set1set_1
.
HDevelop In-line Operation
HDevelop provides an in-line operation for tuple_differencetuple_differenceTupleDifferenceTupleDifferencetuple_difference
,
which can be used in an expression in the following syntax:
Difference := difference(Set1, Set2)
Execution Information
- Multithreading type: independent (runs in parallel even with exclusive operators).
- Multithreading scope: global (may be called from any thread).
- Automatically parallelized on internal data level.
Parameters
Set1Set1Set1set1set_1
(input_control) tuple(-array) →
HTupleHTupleTypeHTupleHtuple (integer / real / string / handle) (int / long / double / string / HHandle) (Hlong / double / HString / HHandle) (Hlong / double / char* / handle)
Input tuple.
Set2Set2Set2set2set_2
(input_control) tuple(-array) →
HTupleHTupleTypeHTupleHtuple (integer / real / string / handle) (int / long / double / string / HHandle) (Hlong / double / HString / HHandle) (Hlong / double / char* / handle)
Input tuple.
DifferenceDifferenceDifferencedifferencedifference
(output_control) tuple(-array) →
HTupleSequence[HTupleElementType]HTupleHtuple (integer / real / string / handle) (int / long / double / string / HHandle) (Hlong / double / HString / HHandle) (Hlong / double / char* / handle)
The difference set of two input tuples.
Result
If the parameters are valid, the operator
tuple_differencetuple_differenceTupleDifferenceTupleDifferencetuple_difference
returns the value 2 (
H_MSG_TRUE)
.
Alternatives
tuple_symmdifftuple_symmdiffTupleSymmdiffTupleSymmdifftuple_symmdiff
See also
tuple_intersectiontuple_intersectionTupleIntersectionTupleIntersectiontuple_intersection
,
tuple_symmdifftuple_symmdiffTupleSymmdiffTupleSymmdifftuple_symmdiff
,
tuple_uniontuple_unionTupleUnionTupleUniontuple_union
Module
Foundation