Ich arbeite an einem Nlp-Projekt, in dem ich Tags parsen muss. Ich habe mehrere Tags in der folgenden Form: eine Zeichenfolge, die eine Reihe von Tupel ist. Beispiel:Konvertiere einen Satz von Tupeln in Werte
'{(Entertainment (Adult), S), (Performing Arts, S), (Comedy Club, S), ($, S), (Comedy, P), (18+, S), (Plays & Shows, P)}'
Aber ich will es so aussehen:
{('Entertainment (Adult)', 'S'), ('Performing Arts', 'S'), ('Comedy Club', 'S'), ('$', 'S'), ('Comedy', 'P'), ('18+', 'S'), ('Plays & Shows', 'P')}
Ich versuchte literal_eval pro this question, aber ich erhalte einen ungültigen Syntaxfehler. Ich denke, das liegt daran, dass das Tag eine Menge ist, die Tupel enthält, die Strings enthalten, die nicht als Strings interpretiert werden, so dass das Literal_eval verwirrt wird (nur hier raten).
Ich habe versucht, einige Bandaid-Y-String-Streifen und Splits, aber ich kann keine Lösung, die dynamisch für verschiedene Tags funktioniert.
Was ist, wenn die Tags Kommas und Klammern enthalten? Wäre es nicht einfacher, die Liste überhaupt erst richtig zu erstellen? –
Tags werden immer in der gleichen Form sein: eine Menge von Tupeln, die zwei Werte enthalten. Ein anderes Beispiel wäre '{(All Ages, S), ($, S), (Alternative & Rock, S), (Konzerte & Live Musik, P)}' In []: – Daniel
würde ich versuchen zuerst zu teilen Kommas und dann Paare verbinden. – Adirio