Hallo,
mal eine kleine Anfänger-Frage zu Tuples
habe hier ein Tuple
t_old: ('x1','x2')
und suche eine Möglichkeit wie ich "anhängen" kann
z.B. 'pp' anhängen, Endresultat soll dann so aussehen
t_new: ('x1','x2','pp')
hab schon einiges probiert, aber nix passendes gefunden
habt ihr eine Idee ?
(PS: es muss wirklich ein Tuple und keine Liste sein, da ich es als
key in einem Dictionary verwenden möchte)
Gruß,
Paule
wie "neues Tuple" = "altes Tuple" + &qu
Du kannst ein völlig neues Tupel erstellen und die Werte des alten Tupels mit den neuen Werten in dieses speichern.1 You can't add elements to a tuple. Tuples have no append or extend method.
2 You can't remove elements from a tuple. Tuples have no remove or pop method.
3 You can't find elements in a tuple. Tuples have no index method.
4 You can, however, use in to see if an element exists in the tuple.
Ist aber eben einiges umständlicher als bei Listen
Tupel soll man nicht verändern können.
Meinst du sowas?
Code: Alles auswählen
>>> t_old = ('x1', 'x2')
>>> temp_list = []
>>> for element in t_old:
... temp_list.append(element)
...
>>> temp_list.append('pp')
>>> tuple(temp_list)
('x1', 'x2', 'pp')
>>>
Code: Alles auswählen
>>> a = 1,2
>>> a
(1, 2)
>>> a = a+(3,)
>>> a
(1, 2, 3)
Code: Alles auswählen
In [8]: spam = tuple(list((1,2)) + [3])
In [9]: spam
Out[9]: (1, 2, 3)
Edit: Mhm, Tuple kann man auch so zusammenhängen? Was gelernt... naja, würde trotzdem mit Listen arbeiten.
- Michael Schneider
- User
- Beiträge: 569
- Registriert: Samstag 8. April 2006, 12:31
- Wohnort: Brandenburg
Hallo PaulM,
ich habe noch nicht verstanden, warum man eine Liste (also ein Objekt mit Listenfunktionalität) als Schlüssel in einem Dictionary verwenden wollen könnte. Möchtest Du nur eine Zuordnung der Liste zu einem bestimmten Wert umsetzen? Dann kannst Du auch eine Liste oder ein Dict von Tupels (Liste, Wert) verwenden.
Du kannst Dir auch eine eigene Klasse schreiben, die die Funktionalität einer Sequenz oder Auflistung implementiert.
Wie numerix schrieb kann man Tuples "addieren" (verketten) und ein 1-Tupel besteht aus Klammern mit Wert und Komma -> (1,)
Ein Problem ist immer nur so kompliziert, wie seine Randbedingungen es einschränken. Wie sieht denn die Aufgabe insgesamt aus??
Michel
ich habe noch nicht verstanden, warum man eine Liste (also ein Objekt mit Listenfunktionalität) als Schlüssel in einem Dictionary verwenden wollen könnte. Möchtest Du nur eine Zuordnung der Liste zu einem bestimmten Wert umsetzen? Dann kannst Du auch eine Liste oder ein Dict von Tupels (Liste, Wert) verwenden.
Du kannst Dir auch eine eigene Klasse schreiben, die die Funktionalität einer Sequenz oder Auflistung implementiert.
Wie numerix schrieb kann man Tuples "addieren" (verketten) und ein 1-Tupel besteht aus Klammern mit Wert und Komma -> (1,)
Ein Problem ist immer nur so kompliziert, wie seine Randbedingungen es einschränken. Wie sieht denn die Aufgabe insgesamt aus??
Michel
Diese Nachricht zersört sich in 5 Sekunden selbst ...
.. juuupi, funktioniert prima ..
mache es genau so wie von euch vorgeschlagen:
- Tuple in Liste konvertieren
- neues Element an Liste anhaengen
- Liste in neues, modifiziertes Tuple zurueckkonvertieren
insbesondere der 3.Schritt, das "tuple(meine_liste)"
was mir neu...
nochmals vielen Dank !
Paule
mache es genau so wie von euch vorgeschlagen:
- Tuple in Liste konvertieren
- neues Element an Liste anhaengen
- Liste in neues, modifiziertes Tuple zurueckkonvertieren
insbesondere der 3.Schritt, das "tuple(meine_liste)"
was mir neu...
nochmals vielen Dank !
Paule
- Michael Schneider
- User
- Beiträge: 569
- Registriert: Samstag 8. April 2006, 12:31
- Wohnort: Brandenburg
Hallo PaulM!
Du solltest Dir nur bewusst sein, dass Du dabei (wie auch beim Konvertieren) immer ein neues Tupel erhältst, das Du dann zwangsläufig auch explizit in Dein Dictionary einbauen musst!
Michel
Warum konvertieren?? WIR haben doch ein einfaches Addieren vorgeschlagen:PaulM hat geschrieben: mache es genau so wie von euch vorgeschlagen:
- Tuple in Liste konvertieren
- neues Element an Liste anhaengen
- Liste in neues, modifiziertes Tuple zurueckkonvertieren
Code: Alles auswählen
>>> (1, 2) + (3, )
(1, 2, 3)
Michel
Diese Nachricht zersört sich in 5 Sekunden selbst ...