Python: Rückkehr-Liste Ergebnis-problem in einer Funktion
Wenn ich das mit print-Funktion
def numberList(items):
number = 1
for item in items:
print(number, item)
number = number + 1
numberList(['red', 'orange', 'yellow', 'green'])
Bekomme ich diese
1 red
2 orange
3 yellow
4 green
wenn ich dann auf ändern Sie die drucken-Funktion, zurück-Funktion bekomme ich nur dies:
(1, 'red')
warum ist das so?
Muss ich die zurück Funktion funktioniert genau wie die Funktion drucken, was muss ich ändern am code, oder schreiben...danke...Pls machen Sie Ihre Antwort so einfach, verständlich und geradlinig wie möglich..cheers
InformationsquelleAutor Kolly Boy | 2011-09-16
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
return
endet die Funktion, währendyield
erzeugt ein generator, der spuckt dann einen Wert zu einem Zeitpunkt:alternativ
return
eine Liste:oder nutzen Sie einfach
enumerate
:In jedem Fall
'\n'.join(str(x) for x in iterable)
nimmt so etwas wie eine Liste und stellt jedes Element in einen string, wieprint
tut, und verbindet dann die einzelnen string zusammen mit einem Zeilenumbruch, wie mehrereprint
Aussagen stellen.Dank agf...sehr hilfreich.
InformationsquelleAutor agf
Moment die Funktion auf "return" - Anweisung beendet die Verarbeitung von weiteren-code und beendet die Funktion. Das ist, warum es ist wieder nur der erste Wert. Sie können nicht mehr zurück als einmal aus einer Funktion.
InformationsquelleAutor anujkk
Einen
return
Funktionreturn
den Wert das erste mal getroffen wird, dann wird die Funktion beendet. Es wird nie funktionieren wie dieprint
Funktion in der Schleife.Referenz doc: http://docs.python.org/reference/simple_stmts.html#grammar-token-return_stmt
Was sind Sie versuchen zu erreichen?
Konnte man immer
return
einedict
hatte die folgenden:So, dass alle Elemente in der statt 1 Wert zurückgeben.
Was Sie wollen, ist unmöglich, es sei denn, Sie erfassen alle Elemente in der 1 return Objekt, wie ich vorgeschlagen oder verwenden
yield
als agf vorgeschlagen. Einreturn
- Anweisung beendet eine Funktion - es können nicht mehrere Male.InformationsquelleAutor mwan