Ich möchte meine Liste von Ganzzahlen in eine Zeichenfolge konvertieren. So erstelle ich die Liste der ganzen Zahlen:
new = [0] * 6
for i in range(6):
new[i] = random.randint(0,10)
So was:
neu == [1,2,3,4,5,6]
ausgabe == '123456'
Es gibt definitiv einen schlankeren Weg, dies zu tun, aber hier ist ein sehr einfacher Weg:
mystring = ""
for digit in new:
mystring += str(digit)
Mit Konvertiere eine Liste von Zeichen in einen String kannst du einfach tun
''.join(map(str,new))
zwei einfache Möglichkeiten, dies zu tun
"".join(map(str, A))
"".join([str(a) for a in A])
Kommt etwas spät und erweitert die Frage irgendwie, aber Sie könnten das Modul array
nutzen und Folgendes verwenden:
from array import array
array('B', new).tobytes()
b'\n\t\x05\x00\x06\x05'
In der Praxis wird ein Array von 1 Byte breiten Ganzzahlen (Argument 'B'
) aus Ihrer Liste von Ganzzahlen erstellt. Das Array wird dann als binäre Datenstruktur in einen String konvertiert, sodass die Ausgabe nicht wie erwartet aussieht (Sie können diesen Punkt mit decode()
festlegen). Es sollte jedoch eine der schnellsten Ganzzahl-Zeichenfolge-Konvertierungsmethoden sein und etwas Speicherplatz sparen. Siehe auch Dokumentation und verwandte Fragen:
https://www.python.org/doc/essays/list2str/
Sie können die ganzen Zahlen in der Liste durchlaufen, während Sie den Typ "String" konvertieren und an die Variable "String" anhängen.
for int in list:
string += str(int)