2016-08-18 13 views
-3

Ich habe eine Liste:Wie die Klammern aus der Liste in Python entfernen

list1 = ['field1','field2','field3'] 

Ich habe verschiedene Methoden verwendet, aber ich bin keine Hilfe.

list1= (" ".join(repr(e) for e in list1)) 

aber es druckt jedes Zeichen in der Zeichenfolge als separates Wort wie

"f","i","e","l","d". 

Aber ich mag die Ausgabe wie:

list1='field1','field2','field3' 

So, wie ich nur die Klammern entfernen kann aus die Liste, ohne die Zeichenfolgen zu ändern.

+4

Sie müssen Zeigen Sie ein ** vollständiges ** Codebeispiel, und Sie müssen sich über die Unterscheidung zwischen Code und Ausgabe im Klaren sein. Sie müssen genau erklären, was auf dem Bildschirm angezeigt werden soll * und den Code anzeigen, den Sie verwenden, damit er auf dem Bildschirm angezeigt wird. –

+1

Ich bin mir nicht sicher, was Sie erreichen wollen, aber vielleicht '" ".join (list1)'? –

+0

Der aktuelle Code gibt '' field1 '' field2 '' field3'' für mich aus – FujiApple

Antwort

0

ich vorstellen (die Frage ist nicht ganz klar, wie in den Kommentaren angegeben) Sie suchen:

print ",".join(list1) 

Produziert:

field1,field2,field3 

So wie kann ich entfernen nur die Klammern aus der Liste ohne die Zeichenfolgen zu ändern.

Die Variable list1 ist eine Liste und die [] Klammern enthalten sind, wenn eine Liste als Zeichenfolge wiedergegeben wird. Sie können Ihre eigene Zeichenfolgendarstellung wie hier unter join angeben. Wenn Sie wirklich eine Zeichenkettenausgabe mit den Anführungszeichen um die Zeichenketten produzieren möchten, die Sie tun konnten:

0

Tada! str(list1).strip('[').strip(']')

nicht sicher, ob es möglich ist, Python Ausgabe zu erhalten:

list1 = 'field1', 'field2', 'field3'

, die keine gültige Python-Syntax ist .. . (es sei denn, ein Tupel definieren):

>>>list1='field1','field2','field3' 
('field1', 'field2', 'field3') 

Dieses in der Nähe ist, können Sie erhalten:

>>>list1 = ['field1','field2','field3'] 
# convert list to string 
>>>foo = str(list1) 
# strip the '[ ]' 
>>>print(foo.strip('[').strip(']')) 
'field1', 'field2', 'field3' 
>>>print("list1=%s" % foo.strip('[').strip(']')) 
list1='field1', 'field2', 'field3' 
0

Es klingt, als ob Sie Ihre Liste in einem bestimmten Format drucken möchten. Sie können dies mit der Funktion print() in python3 oder der print-Anweisung in python2 tun.

zunächst eine Zeichenfolge, die darstellt, wie Sie die Ausgabe der Liste möchten:

output = ",".join("'" + item + "'" for item in list1) 

Es gibt zwei Schritte in diesem Ansatz. Zunächst fügen wir der jeweiligen Position in der Liste Zitate hinzu, entsprechend Ihrer gewünschten Ausgabe. Zweitens verbinden wir die Elemente in der Liste um ein Komma.

Wenn Sie die Zeichenfolge haben wollen ‚list1 =‘ zu Beginn der Ausgabe können Sie einfach es so setzt:

output = 'list1=' + output 

Dann kann einfach diese Zeichenfolge drucken mit print output in python2 oder print(output) in python3.

Dies sollte die folgende Zeile drucken:

list1='field1','field2','field3'

0

die meisten der bisherigen Antworten funktionieren würde, aber vielleicht die einfachste ist eine for-Schleife:

mylist = ['1','2','3','4'] 

print('list=',end='') 
for myvar in mylist: 
    print(myvar,end='') 

print('') 

Ausgabe:

list=1234 

jedoch wird dies nur funktionieren in Python 3.4, da Sie die Druckfunktion verwenden und nicht eine print-Anweisung

0

Versuchen Sie diese verwenden können: list1 = "'" + "','".join(list1) + "'"

0

Ich hoffe, das hilft. e = [1,2,3] f = re.sub (r '[[]]', '', str (e [0]))

Output: 1

Verwandte Themen