2016-12-27 8 views
-1

Ich habe eine Liste, die ich mit Objekten gefüllt habe. Ich bin in der Lage ein ganzes Objekt zu drucken, indem Sie:Wie werden einzelne Werte eines Objekts gedruckt?

print str(vars(theList[0])) 

oder in einer Schleife:

i = 0 
for objects in theList: 

    print str(vars(theList[i])) 
    i+=1 

Was, wenn ich nur einen des Wertes in dem Objekt und nicht das gesamte Objekt.

Edit versucht, die Frage weiter zu klären: Lässt 'sagen, ich habe eine Liste von zehn Objekten mit Namen, Alter, Adresse und Telefonnummer. Was ist, wenn ich nur den Namen des Index 1 und nicht den gesamten Inhalt des Objekts bei Index eins möchte? Das ist das Ziel.

print str(vars(theList[0].itemOne)) 

Die oben gibt mir TypeError: vars() argument must have __dict__ attribute

ich eine andere Frage gefunden, dass anstelle von vars mit dic vorgeschlagen, aber das hat nicht funktioniert. Es gedruckt nur eine lange Liste:

['__add__', '__class__', '__contains__', '__delattr__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getnewargs__', '__getslice__', '__gt__', '__hash__', '__init__', '__le__', '__len__', '__lt__', '__mod__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__rmod__', '__rmul__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '_formatter_field_name_split', '_formatter_parser', 'capitalize', 'center', 'count', 'decode', 'encode', 'endswith', 'expandtabs', 'find', 'format', 'index', 'isalnum', 'isalpha', 'isdigit', 'islower', 'isspace', 'istitle', 'isupper', 'join', 'ljust', 'lower', 'lstrip', 'partition', 'replace', 'rfind', 'rindex', 'rjust', 'rpartition', 'rsplit', 'rstrip', 'split', 'splitlines', 'startswith', 'strip', 'swapcase', 'title', 'translate', 'upper', 'zfill']

+0

Um den Wert des ersten Elements in der Liste zu drucken, drucken Sie einfach (listName [0]) Edit: Ich denke, was tatsächlich passiert ist, gibt es Listen in Listen, also wenn Sie das erste Element des ersten Elements von a listet den Druck auf (listName [0] [0]) – Octo

+0

Nein, wie gesagt, die Liste ist eine Liste von Objekten und ist KEINE Liste innerhalb einer Liste, also 'print (listName [0] [0])' funktioniert nicht. Der Versuch, wie Sie vorschlagen, löst diesen Fehler aus: 'Objekt unterstützt keine Indizierung' Wie gesagt, weiß ich, wie man einen Wert von der Liste erhält. Ich frage, wie kann ich nur bestimmte Objekte aus dem Objekt und nicht den gesamten Inhalt des Objekts drucken. – WeVie

+1

Entschuldigung, habe deinen Beitrag nicht richtig gelesen. Nicht ein Duplikat und meine Antwort würde nicht funktionieren – Octo

Antwort

1
for object in list_name: 
    print(object) # <--- the "body" 

Dies ist für Schleifensyntax. Es führt den Körper der for-Schleife einmal für jedes Element in der Liste aus und weist das Element dem Namen zu, hier ist es object.

Ersetzen Sie list_name durch den Namen Ihrer Liste und object durch den entsprechenden Namen.

+0

Ja, das funktioniert! Ich kann 'print (object.object_Item)' machen und die Ergebnisse erhalten, nach denen ich suche. – WeVie

+0

@WeVie bitte akzeptieren Sie die Antwort –

Verwandte Themen