cycler.Cycler¶
- class cycler.Cycler(left: Cycler[K, V] | Iterable[dict[K, V]] | None, right: Cycler[K, V] | None = None, op: Any = None)[source]¶
Zusammensetzbare Zyklen.
Diese Klasse verfügt über Kompositionsmethoden
+für „innere“ Produkte (Zip)
+=direkt (in-place)
+*für äußere Produkte (
itertools.product) und Ganzzahlmultiplikation*=direkt (in-place)
*
und unterstützt einfaches Slicing über
[].- Parameter:
- left, rightCycler oder None
Die „linken“ und „rechten“ Zyklen.
- opFunktion oder None
Funktion, die die linken und rechten Zyklen zusammensetzt.
- __init__(left: Cycler[K, V] | Iterable[dict[K, V]] | None, right: Cycler[K, V] | None = None, op: Any = None)[source]¶
Semi-privater Init.
Verwenden Sie dies nicht direkt, verwenden Sie stattdessen die Funktion
cycler.
Methoden
__init__(left[, right, op])Semi-privater Init.
by_key()Werte nach Schlüssel.
change_key(alt, neu)Ändern Sie einen Schlüssel in diesem Zyklus in einen neuen Namen.
concat(right)Verketten Sie
Cyclers, als wären sie mititertools.chainverkettet.Vereinfachen Sie den Zyklus in eine Summe (aber keine Produkte) von Zyklen.
Attribute
Die Schlüssel, die dieser Zyklus kennt.
- by_key() dict[K, list[V]][source]¶
Werte nach Schlüssel.
Dies gibt die transponierten Werte des Zykels zurück. Das Iterieren über einen
Cyclerergibt Dictionaries mit einem einzelnen Wert für jeden Schlüssel. Diese Methode gibt eindictvonlistzurück, die die Werte für den angegebenen Schlüssel sind.Der zurückgegebene Wert kann verwendet werden, um einen äquivalenten
Cyclernur mit+zu erstellen.- Gibt zurück:
- transposedict
Dict von Listen der Werte für jeden Schlüssel.
- change_key(old: K, new: K) None[source]¶
Ändern Sie einen Schlüssel in diesem Zyklus in einen neuen Namen. Die Änderung erfolgt direkt (in-place).
Tut nichts, wenn der alte Schlüssel mit dem neuen Schlüssel identisch ist. Löst einen ValueError aus, wenn der neue Schlüssel bereits ein Schlüssel ist. Löst einen KeyError aus, wenn der alte Schlüssel kein Schlüssel ist.
- concat(right: Cycler[K, U]) Cycler[K, V | U]¶
Verketten Sie
Cyclers, als wären sie mititertools.chainverkettet.Die Schlüssel müssen exakt übereinstimmen.
- Gibt zurück:
CyclerDer verkettete Zyklus.
Beispiele
>>> num = cycler('a', range(3)) >>> let = cycler('a', 'abc') >>> num.concat(let) cycler('a', [0, 1, 2, 'a', 'b', 'c'])