String mit Liste vergleichen

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Becks
User
Beiträge: 6
Registriert: Freitag 20. März 2009, 11:18

Hallo zusammen,

Ich spiele im moment ein wenig mit Python rum und bastle gerade an einem Programm welches mir den Inhalt einer datei einliest und dann jede Zeile analysiert. Diese Analyse soll mit Hilfe von festgelgten Strings, die in einer Liste sind passieren. Danach soll der urpsprüngliche text inkl. der rausanalysierten Strings in eine neue Liste gespeichert werden und dann in eine MySQL DB geschoben werden (kein Problem).

Bsp.

Code: Alles auswählen

#eingelesene datei (als array/liste) bereit zum analysieren
content = ...

#Bsp Inhalt von content (1 Datensatz)
#Testdatei AC3 ... avi

#neue liste mit format ["Titel", "Audio"]
ls_final = {}

#audio
ls_audio = ["MD","LD","AC3"]


Wie kann ich nun überprüfen, ob eines der 3 Formate in meinem Array content vorkommt.

Der Rest ist ja dann easy ;-)
Wobei ich noch eine Frage hätte:
Was ist der Unterschied zw.

Code: Alles auswählen

varibale = []
&

Code: Alles auswählen

 variable = {}
Vielen Dank & Grüße,
Becks
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Hallo Becks, willkommen im Forum,
Becks hat geschrieben:Wie kann ich nun überprüfen, ob eines der 3 Formate in meinem Array content vorkommt.
Was sind denn diese "Formate"?
Becks hat geschrieben:Was ist der Unterschied zw.

Code: Alles auswählen

varibale = []
&

Code: Alles auswählen

 variable = {}
Das erste ist eine Liste in der Items sequenziell drin stehen, das zweite ist ein Dictionary in dem es Schlüssel gibt unter welchen die Daten abgespeichert sind. Wie ein Wörterbuch, quasi.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Becks
User
Beiträge: 6
Registriert: Freitag 20. März 2009, 11:18

Diese Formate sind ja in der Liste ls_audio abgespeichert.
Wie in meinem Coding zu sehen.

Als ich möchte gernen überprüfen ob in dem String
Testdatei AC3 DivX avi

eine der Bedingungen von ls_audio vorkommt!

Code: Alles auswählen

#audio
ls_audio = ["MD","LD","AC3"]
In dem Fall soll dann in meinem Dictionary folgendes stehen.

Code: Alles auswählen

ls_final = { "Titel"   : "Testdatei AC3 DivX avi",
           "Audio"      : "AC3" }
Greetz,
Becks
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Code: Alles auswählen

dein_ergebnis = any(format in text for format in ls_audio)
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Becks
User
Beiträge: 6
Registriert: Freitag 20. März 2009, 11:18

Danke für deine Antwort, aber dieses Statement gibt ja nur true o. false zurück. Ich würde jetzt gerne noch wissen wie ich rausbekomm welches der 3 Formate (ls_audio) in meinem Text vorkommt.
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Du wolltest ja auch nicht mehr wissen:
Becks hat geschrieben:Als ich möchte gernen überprüfen ob in dem String Testdatei AC3 DivX avi eine der Bedingungen von ls_audio vorkommt!
Du solltest deine Fragen exakter stellen.

Hier bekommst du alle im String gefundenen Substrings:

Code: Alles auswählen

[format for format in ls_audio if format in text]
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Becks
User
Beiträge: 6
Registriert: Freitag 20. März 2009, 11:18

Du solltest deine Fragen exakter stellen.
Hab ich doch ;-D
Als ich möchte gernen überprüfen ob in dem String
Testdatei AC3 DivX avi

eine der Bedingungen von ls_audio vorkommt!

Code: (Python)
#audio
ls_audio = ["MD","LD","AC3"]


In dem Fall soll dann in meinem Dictionary folgendes stehen.
Code: (Python)

ls_final = { "Titel" : "Testdatei AC3 DivX avi",
"Audio" : "AC3" }
Aber lass uns nicht zanken. Hab mit deiner Hilfe alles hinbekommen.
Ich danke dir hierfür herzlich.

Greetz,
Becks
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

Leonidas hat geschrieben: Du solltest deine Fragen exakter stellen.
Leonidas hat das die Betonung sicherlich auf exakt gelegt! Man kann aus Deiner weiteren Aussage schließen, dass Du auch die Info benötigst, welche Parameter in dem String vorkommen, aber exakt ist etwas anderes! (Zumal die Frage an sich diesen Info eben nicht beinhaltete!)

SCNR ;-)
Antworten