Senden zwei argument mit map und lambda-Funktionen und die Rückgabe von zwei Werten

Ich würde Sie gerne zwei Argumente in einer Funktion und erhalten Sie zwei Werte als auch

Möchte ich diesen code ändern, damit ich den code senden können, die zwei Argumente und zwei sowie

list_value = [ 1, 2,0,-1,-9,2,3,5,4,6,7,8,9,0,1,50]
hnd = map(lambda (valua): function_f(valua), list_value)

function_f ist eine Funktion eine Zahl, die entweder 1 oder 0.

Den oben genannten code, den job tun können, wenn die Versendung von einem argument, aber ich wollen, senden zwei statt.
das erste argument der Funktion erforderlich ist list_value und das zweite argument ist ein Modell "net-Modell Zug mit caffe"

also ich möchte eine Funktion schreiben, die das tun, die gleiche Arbeit von der vorherigen Funktion aber wieder zwei Argumente, die einer [0 oder 1] und die andere ist eine modifizierte Modell, das diese Funktion geändert hat.

  • Können Sie erklären, ein besseres Beispiel, was Sie hier zu tun versuchen?
  • deine Wortwahl ist seltsam, aber wenn Sie möchten, schreiben Sie eine Funktion, die zwei Eingänge und gibt zwei, die Sie tun können lambda a, b: (a+b, b-a) Sie brauchen, um wieder ein Tupel
  • Sie können nicht verwenden Sie diese Funktion, mit Landkarte
  • kann er zip irgendwie ordnen Sie die Liste in Paaren?
  • Das wird viel einfacher, wenn Sie definieren das gewünschte Ergebnis, bevor Sie mit der Planung beginnen, wie man es, anstatt die andere Weise herum. Was wollen Sie am Ende das Ergebnis sein? Eine Liste der (0 or 1, current model state) Paare? Oder eine Liste mit "0 oder 1", zusammen mit den endgültigen Modell Stand? Oder etwas anderes?
  • Erklären kann er
  • Nicht benötigt mit map; Sie weitergeben können mehrere iterables zu map, und Sie werden jeweils verwendet als eine Quelle von positions-Argumente. Also, wenn Sie haben: map(lambda x, y: x + y, range(10), range(10, 20)) es passieren 0, 10, dann 1, 11 usw. zip ist nur erforderlich, wenn die jeweilige Funktion benötigt werden die Werte tupled in einem argument, eher als übergeben zwei Argumente.
  • können Sie uns zeigen, wie? Ich bin nicht sehr gut in python ziping...
  • Sie brauchen, um ein Beispiel zu geben von dem, was Sie eigentlich hier wollen. Ist es ein einziges Modell-Objekt, das verwendet wird mit jeder Eingabe, geändert und wiederverwendet für den nächsten Beitrag? Oder ist es ein Modell für jeden Eingang?
  • also, wenn ich Sie richtig verstehe, können Sie map( lambda(a,b): a+b, list_value[::2], list_value[1::2] ) gehen über die Liste der paar-von-paar?
  • dies ist nicht meine Frage. Ich weiß nicht, was der OP will. Aber ich denke, ich könnte lernen, ein wenig von python auf dem Weg... Danke für Eure Hilfe!
  • wenn möglich möchte ich die Funktion kann wie das tun list_value = [ 1, 2,0,-1,-9,2,3,5,4,6,7,8,9,0,1,50] hnd = map(lambda (walua): function_f(walua-Modell), die list_value), wo das Modell caffe-Modell
  • Yup. Vorausgesetzt list_value ist auch die Länge; wenn nicht, die (schrecklichen) Py2 map ersetzt None und führen zu den längsten der Eingang iterables, Py3 map (und itertools.imap im Py2) Stoppt, wenn die kürzeste iterierbar ist erschöpft.
  • Danke! Ich bin ein wenig schlauer jetzt 🙂
  • und warum ist der code, den Sie vorschlagen, nicht funktioniert?
  • Ich werde es wieder versuchen, und vielen Dank für die Hilfe

InformationsquelleAutor S.AMEEN | 2016-01-28
Schreibe einen Kommentar