2017-10-18 1 views
0

ich einen Code haben auchWie ersetze ich eine String-Variable

with open(f1) as f: 
      userid=f.read().replace('0', str(instance.id)) 

Die oben genannten Arbeiten folgt. Nun wird die Variable Benutzer-ID als Zeichenfolge hat Zeichen In wird gerne ersetzen. Ich habe diesen Code ausprobiert und erhalte folgende Fehler. Bitte beachten Sie: Die Variable the_user.phonelist ist eine Python-LIST. Ich möchte das Zeichen [] durch die Liste ersetzen.

ans = userid.replace('[]', the_user.phonelist) 
Error: Can't convert 'list' object to str implicitly 

Antwort

0

Wie der Fehler schon sagt, haben Sie die Liste in einen String

Eine Möglichkeit, zu konvertieren, dies zu tun ist mit einem Join:

phonelist_str = ''.join(the_user.phonelist) 

Dies wird nur obwohl funktionieren, wenn alle Elemente in der Liste sind Zeichenfolgen. Wenn nicht, werden Sie es mit einer Liste Verständnis paaren müssen, um alle auf der Liste der Elemente in Strings zu werfen:

phonelist_str = ''.join([str(x) for x in the_user.phonelist]) 

Sobald Sie eine Zeichenfolge haben, können Sie tun, um Ihre ersetzen:

ans = userid.replace('[]', phonelist_str) 
+0

Wohlgemerkt, wenn das Ziel nur darin besteht, sie durch die Darstellung der "Liste" zu ersetzen, könnten sie einfach Folgendes tun: 'userid.replace ('[]', str (the_user.phonelist))', keine Konvertierung nötig Elemente eins nach dem anderen. – ShadowRanger

+0

Stimmt, Sie können das auch tun. Es hängt davon ab, was das gewünschte String-Format ist. –

Verwandte Themen