Guten Morgen,
zuerst mal ein großes Lob an die Betreiber und User dieses Forums, hab es schon fast komplett durchgelesen *übertreib* und ich finde immer noch Interessantes und Neues
Da ich mit knapp einem Monat Python Erfahrung immer noch zu den Neulingen zähle und mein Ziel der PythonicWay ist habe ich dementsprechend viele Fragen wie man dieses und jenes in Python richtig löst.
Diesmal sind Mengen an der Reihe.
Nehmen wir die Menge a als Beispiel, a = ['ichbina', 'ichwarmala','binaucheina']
Ich würde nun gerne die Menge b von a abziehen, b = ['ichwarmala'], um zu dem Ergebnis c zu kommen. c = ['ichbina','binaucheina']
Idealerweise wäre es dann im Code so zu schreiben: c = a - b
Gibt es diese Möglichkeit von Haus aus, wenn nicht vielleicht stattdessen einen schlauen Python Weg oder muss ich da tatsächlich selbst Hand anlegen?
Vielen Dank für eure Hilfe
mfg tlb
Listen oder Tupel "subtrahieren" :)
-
- User
- Beiträge: 188
- Registriert: Donnerstag 20. Juli 2006, 20:46
- Wohnort: Wien
- Kontaktdaten:
Also wenn nicht unbedingt c rauskommen soll, sondern nur alle Elemente aus a verschwinden sollen, die in b vorkommen:
Gruß, Whitie
Edit: Bei Tupeln geht das natürlich nicht, da diese nicht veränderbar sind.
Code: Alles auswählen
>>>a = ['a', 'b', 'c']
>>>b = ['b']
>>>[a.remove(element) for element in b]
>>>a
['a', 'c']
>>>
Edit: Bei Tupeln geht das natürlich nicht, da diese nicht veränderbar sind.
Sets implementieren das. Sind per definitionem jedoch nicht geordnet und jedes Element gibt es nur einmal. Wenn dir das reicht:(Beachte, dass sich die Reihenfolge geändert hat)
Code: Alles auswählen
>>> from sets import Set
>>> a=Set(['asd','bxb','asdd'])
>>> b=Set(['bxb'])
>>> a-b
Set(['asdd', 'asd'])
-
- User
- Beiträge: 188
- Registriert: Donnerstag 20. Juli 2006, 20:46
- Wohnort: Wien
- Kontaktdaten:
Vielen Dank für die schnellen Antworten.
Ich glaube ich werde mich mal ein wenig mit den Sets spielen.
mfg tlb
Ich glaube ich werde mich mal ein wenig mit den Sets spielen.
mfg tlb