tuple_uniqtuple_uniqTupleUniqTupleUniqtuple_uniq (Operator)
Name
tuple_uniqtuple_uniqTupleUniqTupleUniqtuple_uniq — Eliminieren direkt aufeinanderfolgender Wiederholungen identischer Elemente in einem
Tupel.
Signatur
Herror tuple_uniq(const Hlong Tuple, Hlong* Uniq)
Herror T_tuple_uniq(const Htuple Tuple, Htuple* Uniq)
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
- Multithreading-Typ: independent (läuft parallel auch zu exklusiven Operatoren).
- Multithreading-Bereich: global (kann von jedem Thread aufgerufen werden).
- Wird ohne Parallelisierung verarbeitet.
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