Ich habe eine Liste wie list = ['happy','angry','sad','emotion
].Ersetzen mehrerer Zeichenfolge Wert in einer Liste Python
Deshalb möchte ich die Liste ersetzen und neue Liste wie
new_list=[1, 0, 0,'happy']
machen die meinen Code finden und es funktioniert nicht.
was wäre der richtige Weg, dies zu tun. Bitte hilf mir !
Ich bin nicht sicher, der Betrogene ganz deckt, hier sowieso meine Antwort ist .... ersetzen ist ein String-Attribut, nicht für Listen. Ich schlage vor, verwenden Sie ein Wörterbuch mit einem Listenverständnis, um Ihre neuen Werte den alten zuzuordnen: 'd = {'glücklich': 1, 'wütend': 0, 'traurig': 0, 'Emotion': 'glücklich '}; [d.get (Artikel, Artikel) für Artikel in lst]; # [1, 0, 0, 'happy']; ' –
Sie sagen, Ihre erwartete Ausgabe ist' [1, 0, 0, 'happy'] ', aber dann ersetzen Sie die Wörter durch _strings_, nicht durch Zahlen (' .replace ('glücklich', '1') '). Soll das Ergebnis also Integer oder Strings haben? –
Sie müssen über Ihre Logik nachdenken und versuchen, sie generischer zu machen. Es sieht so aus, als ob du versuchst, die passende Emotion durch 1 und alle anderen durch 0 zu ersetzen (es sei denn, das Wort "Emotion" wird dann durch "Emotion" ersetzt, du kannst dies mit einem Verständnis tun: '[1 wenn e = = Emotion sonst Emotion wenn e == 'Emotion' sonst 0 für e in lst] '->' [1, 0, 0, 'glücklich'] ' – AChampion