tuple_uniqtuple_uniqTupleUniqTupleUniqtuple_uniq (Operator)

Name

tuple_uniqtuple_uniqTupleUniqTupleUniqtuple_uniq — Eliminieren direkt aufeinanderfolgender Wiederholungen identischer Elemente in einem Tupel.

Signatur

tuple_uniq( : : Tuple : Uniq)

Herror tuple_uniq(const Hlong Tuple, Hlong* Uniq)

Herror T_tuple_uniq(const Htuple Tuple, Htuple* Uniq)

void TupleUniq(const HTuple& Tuple, HTuple* Uniq)

HTuple HTuple::TupleUniq() const

static void HOperatorSet.TupleUniq(HTuple tuple, out HTuple uniq)

HTuple HTuple.TupleUniq()

def tuple_uniq(tuple: MaybeSequence[Union[float, int, str]]) -> Sequence[Union[float, int, str]]

def tuple_uniq_s(tuple: MaybeSequence[Union[float, int, str]]) -> Union[float, int, str]

Beschreibung

tuple_uniqtuple_uniqTupleUniqTupleUniqTupleUniqtuple_uniq eliminiert aus dem Eingabetupel TupleTupleTupleTupletupletuple direkt aufeinanderfolgende Wiederholungen und liefert die verbleibenden Elemente im Ausgabetupel UniqUniqUniqUniquniquniq zurück. Besteht TupleTupleTupleTupletupletuple zum Beispiel aus den Werten [0,0,1,1,1,2,0,1], so beinhaltet das Ausgabetupel UniqUniqUniqUniquniquniq die Werte [0,1,2,0,1]. Im Eingabetupel dürfen Strings und Zahlen auch gemischt vorkommen.

Um ein Tupel UniqUniqUniqUniquniquniq zu erhalten, das jeden verschiedenen Eintrag von TupleTupleTupleTupletupletuple genau einmal enthält, sollte vorher der Operator tuple_sorttuple_sortTupleSortTupleSortTupleSorttuple_sort angewendet werden. Dabei ist zu beachten, dass das Ausgabetupel UniqUniqUniqUniquniquniq dann jedoch sortiert ist. Das Resultat des obigen Beispiels ist dann [0,1,2].

Sonderfall: Leeres Eingabetupel

Falls das Eingabetupel leer ist, gibt der Operator ein leeres Tupel zurück.

HDevelop Inline-Operation

HDevelop unterstützt eine Inline-Operation für tuple_uniqtuple_uniqTupleUniqTupleUniqTupleUniqtuple_uniq, die innerhalb eines Ausdrucks in der folgenden Syntax verwendet werden kann:

Uniq := uniq(Tuple)

Wie oben bereits erwähnt kann tuple_sorttuple_sortTupleSortTupleSortTupleSorttuple_sort benutzt werden, um das Tupel UniqUniqUniqUniquniquniq zu erhalten, das jeden verschiedenen Eintrag von TupleTupleTupleTupletupletuple genau einmal enthält.

Uniq := uniq(sort(Tuple))

Ausführungsinformationen

Parameter

TupleTupleTupleTupletupletuple (input_control)  tuple(-array) HTupleMaybeSequence[Union[float, int, str]]HTupleHtuple (integer / real / string) (int / long / double / string) (Hlong / double / HString) (Hlong / double / char*)

Eingabetupel.

UniqUniqUniqUniquniquniq (output_control)  tuple(-array) HTupleSequence[Union[float, int, str]]HTupleHtuple (integer / real / string) (int / long / double / string) (Hlong / double / HString) (Hlong / double / char*)

Tupel ohne aufeinanderfolgende identische Elemente.

Beispiel (HDevelop)

Tuple := [0,0,1,1,1,2,0,1]
*
tuple_uniq (Tuple, Uniq)
*
tuple_sort (Uniq, Sorted)
tuple_uniq (Sorted, Uniq1)

Vorgänger

tuple_inversetuple_inverseTupleInverseTupleInverseTupleInversetuple_inverse, tuple_sorttuple_sortTupleSortTupleSortTupleSorttuple_sort

Alternativen

tuple_intersectiontuple_intersectionTupleIntersectionTupleIntersectionTupleIntersectiontuple_intersection

Modul

Foundation