Oder gibt es eine bessere Möglichkeit, den Inhalt eines Arrays schnell auszugeben (mehrdimensional oder was nicht). Vielen Dank.
Oder gibt es eine bessere Möglichkeit, den Inhalt eines Arrays schnell auszugeben (mehrdimensional oder was nicht). Vielen Dank.
Antworten:
Die Python- Print- Anweisung kann Multidimesion-Arrays gut formatieren, ohne dass print_r in PHP verfügbar sein muss.
Da die Definition für print besagt, dass jedes Objekt in eine Zeichenfolge konvertiert wird und einfache Arrays ein '[' gefolgt von einer durch Kommas getrennten Liste von Objektwerten gefolgt von einem ']' drucken, funktioniert dies für jede Tiefe und Form von Arrays .
Zum Beispiel
>>> x = [[1,2,3],[4,5,6]]
>>> print x
[[1, 2, 3], [4, 5, 6]]
Wenn Sie eine erweiterte Formatierung benötigen, ist die Antwort von AJ , die pprint vorschlägt, wahrscheinlich der richtige Weg.
Sie haben nach der reprBult-In-Funktion gesucht .
http://docs.python.org/2/library/functions.html#func-repr
print repr(variable)
In Python 3 printist keine Aussage mehr, das wäre also:
print( repr(variable) )
from pprint import pprint
student = {'Student1': { 'Age':10, 'Roll':1 },
'Student2': { 'Age':12, 'Roll':2 },
'Student3': { 'Age':11, 'Roll':3 },
'Student4': { 'Age':13, 'Roll':4 },
'Student5': { 'Age':10, 'Roll':5 }
}
pprint(student)
Hier ist eine, die du ausprobieren kannst:
https://github.com/sha256/python-var-dump
Sie können es einfach mit installieren pip
pip install var_dump
Haftungsausschluss: Ich habe es geschrieben :)
printund pprinteignen sich hervorragend für integrierte Datentypen oder Klassen, die eine gesunde Objektdarstellung definieren. Wenn Sie einen vollständigen Speicherauszug beliebiger Objekte wünschen, müssen Sie Ihre eigenen rollen. Das ist nicht so schwer: Erstellen Sie einfach eine rekursive Funktion, wobei der Basisfall ein beliebiger nicht in den Container integrierter Datentyp ist und der rekursive Fall die Funktion auf jedes Element eines Containers oder jedes Attribut des Objekts anwendet, das abgerufen werden kann mit dir()oder das inspectModul.
Es gibt print_r für Python https://github.com/marcbelmont/python-print_r/wiki, aber es ist besser, Standardmodule zu verwenden
my_list = list(enumerate([1,2,3,4,5,6,7,8,9],0))
print(my_list)
Druckt [(0, 1), (1, 2), (2, 3), (3, 4), (4, 5), (5, 6), (6, 7), (7, 8) , (8, 9)]
Wenn Sie variableals Zeichenfolge formatieren möchten, haben Sie folgende Möglichkeiten:
s = repr(variable)
Es funktioniert unabhängig vom Typ und erfordert keine Importe.
Wenn Sie den Inhalt eines Objekts zusammen mit seinem Typ in eine einzelne Zeichenfolge aufnehmen möchten:
if hasattr(variable, "__dict__"):
s = "{}: {}".format(variable, vars(variable))
else:
s = repr(variable)
Für einfache Testansichten verwende ich HttpResponse. Testanforderung von Formular, Variable, Zeichenfolge, ID, nicht Objekt
from django.http.response import HttpResponse
HttpResponse(variable)
def add_comment(request, id):
return HttpResponse(id)