Seite 1 von 1

In einer Liste bestimmte Stringelemente entfernen

Verfasst: Samstag 13. August 2016, 16:34
von 0x68646d
Hallo,
bin relativ neu in Python und will jetzt Informationen aus einem Array gewinnen.
Das Array ist folgendermaßen aufgebaut:
  • var pages = [["info-die-ich-brauch"
    ["müll"
    ["müll"
    ["info-die-ich-brauch"
    ...
[/list]
(das schema geht noch 100 einträge weiter)

Wie kann ich nun am gechicktesten aus so einer Liste ohne anführungszeichen usw. den Müll, den ich nicht brauch rausfiltern.
Also ich könnte an sich die ganzen Sachen, die ich brauche rausfiltern, jedoch umständllich mit diesem Code:

Code: Alles auswählen

for i in range(len(x), 1, -3):
		del x[i]
		del x[i-1]
	for i in range(0, len(x)):
		x[i].replace("var pages", "")
		x[i].replace(" ", "")
		x[i].replace("[", "")
		x[i].replace("]", "")
		x[i].replace("\"", "")
Nun meine Frage ist wie so was geschickter geht, weil der Code den ich produziert habe ziemlich schwachsinnig aussieht :D

Re: In einer Liste bestimmte Stringelemente entfernen

Verfasst: Samstag 13. August 2016, 16:48
von nezzcarth
Was du da hast, sieht für mich sehr merkwürdig aus (geöffnete Klammern ohne Gegenstück, BBCode ähnlicher Tag..). Liegt das wirklich so als String vor? Ist das aus irgendeiner Config-Datei, oder sowas?

Re: In einer Liste bestimmte Stringelemente entfernen

Verfasst: Samstag 13. August 2016, 17:07
von 0x68646d
Sorry bei der Darstellung der Liste ist mir ein Fehler unterlaufen.

var pages = [["info-die-ich-brauch"
"müll"
"müll"]
["info-die-ich-brauch"
...


Das ist aus einem JS Code, den ich mit urllib rausgefischt habe.

Re: In einer Liste bestimmte Stringelemente entfernen

Verfasst: Samstag 13. August 2016, 17:17
von nezzcarth
0x68646d hat geschrieben: Das ist aus einem JS Code, den ich mit urllib rausgefischt habe.
Kann es sein, dass da noch Kommata und schließende Klammern fehlen?

Dann wäre es -- mit Ausnahme der Zuweisung am Anfang -- valides JSON und du könntest das mit dem JSON-Parser aus der Standardbibliothek verarbeiten. Sobald das geparst ist, kannst du dann mit einer List-Comprehension die Elemente wählen, die deinen Kriterien folgen.

Code: Alles auswählen

[
    [
        "info-die-ich-brauch",
        "müll",
        "müll"
    ],
    [
        "info-die-ich-brauch"
    ]
]