Wie kann ich subtrahieren von zwei strings in python?
Ich habe eine lange Schnur, die ist im Grunde eine Liste wie str="lamp, bag, mirror,"
(und andere Gegenstände)
Wurde ich gefragt, ob ich addieren oder subtrahieren Sie einige Elemente, die in anderen Programmiersprachen kann ich leicht tun: str=str-"bag,"
und bekommen str="lamp, mirror,"
dies funktioniert nicht in python (ich bin mit 2.7 auf einem W8 pc)
Gibt es eine Möglichkeit zum splitten der Schnur über sagen, "Tasche", und irgendwie verwenden, als eine Subtraktion? Dann brauche ich noch, um herauszufinden, wie add.
Wenn Sie sagen, 'subtrahieren', meinst du damit entfernen Sie ein Element aus Ihrer Liste, oder entfernen Sie die letzten Zeichen, wenn Sie passen (und wenn nicht, was sollte das Verhalten sein? Was ist mit doppelten Werten?
Werfen Sie einen Blick auf die string-replace: docs.python.org/2/library/string.html#string.replace
Das war eine Annahme. Ich thaugh war es möglich in VBS und Java nicht?
Werfen Sie einen Blick auf die string-replace: docs.python.org/2/library/string.html#string.replace
in other programming languages i can easily do: str=str-"bag," and get str="lamp, mirror,"
welche Sprachen?Das war eine Annahme. Ich thaugh war es möglich in VBS und Java nicht?
InformationsquelleAutor max smith | 2013-08-26
Du musst angemeldet sein, um einen Kommentar abzugeben.
könnte man auch einfach tun
guter Punkt ... eigentlich der split ist wohl die "richtige" Antwort, aber ich dachte, ich würde werfen dies draußen. nicht sicher, welche Sprachen unterstützen, string Subtraktion oder wie es sich Verhalten würde in Sprachen
InformationsquelleAutor Joran Beasley
Wie wäre es damit?:
InformationsquelleAutor Zaka Elab
Können Sie dies tun, solange Sie wohlgeformt Listen:
Wenn die Liste ist nicht wohlgeformt, die Sie tun können, wie folgt, vorgeschlagen von @Lattyware:
Nun um das element zu löschen:
So oder so - die Rekonstruktion der Zeichenfolge, verwenden Sie
join()
:Ein anderer Ansatz wäre die Verwendung
replace()
- aber Vorsicht mit der Zeichenfolge, die Sie ersetzen möchten, zum Beispiel"mirror"
nicht mit einem trailing,
am Ende.str.split()
.Yep, ich war zu tun 🙂
Offensichtlich gibt es hier eine Annahme, die Liste ist gut gebildet, mit Leerzeichen nach jedem Element, wenn das nicht der Fall ist, die
[item.strip() for item in s0.split(',')]
flexibler ist (ein einfaches list comprehension mit derstr.strip()
- Methode).es habe!
InformationsquelleAutor Óscar López
sollten Sie konvertieren den string in eine Liste von Strings, dann tun, was Sie wollen. schauen
InformationsquelleAutor dare
Wenn Sie zwei strings wie folgt:
und Sie wollen, um zu subtrahieren diese beiden strings dann können Sie verwenden Sie den folgenden code:
Ausgabe werden wie:
InformationsquelleAutor Rohan Amrute
InformationsquelleAutor Dengs
Regular expressions Beispiel:
str.split()
macht genau das, was gewollt ist?Es ist nur ein Beispiel wie gesagt.
InformationsquelleAutor badc0re
Mithilfe der folgenden Sie können hinzufügen, mehr Worte zu entfernen (
["bag", "mirror", ...]
)InformationsquelleAutor J. Doe