Funktion, die die Sequenz in eine Liste umwandelt

8

Das wissen wir

%Vor%

entspricht

%Vor%

Ich möchte wissen, ob es eine eingebaute Funktion tolist gibt, die äquivalent zu [] ist, also

%Vor%

entspricht [a,b,c,d] .

Ich denke, dass eine solche Funktion in der funktionalen Programmierung nützlich ist. Weil viele Funktionen den Listenparameter anstelle der Sequenz verwenden.

Natürlich ist ein einfacher benutzerdefinierter Weg lambda *x:list(x) , aber ich habe immer das Gefühl, dass er syntaktisch umständlich ist, vor allem in funktionalem Programmierstil wie

%Vor%

Also meine Frage ist, dass, wenn es keine solche eingebaute tolist gibt, ob wir sie on-the-fly eleganter mit FP-Paketen wie toolz erstellen könnten?

PS: Was ich eigentlich erreichen möchte, ist eine Threaded-Version von add (ich kenne numpy, aber ich möchte es im Moment nicht verwenden)

%Vor%

dann

%Vor%

gibt

%Vor%     
user15964 16.11.2017, 03:52
quelle

1 Antwort

1

Wenn

  Die

-Funktion ist nützlich (....) Da viele Funktionen den Listenparameter

verwenden

Es ist ein gutes Zeichen, dass lambda Ausdruck nicht richtig passt. Sie möchten sich nicht jedes Mal wiederholen, wenn Sie dieses Muster anwenden möchten.

Leider sind wir weit von Clojures Prägnanz entfernt:

%Vor%

aber wir können es immer noch ziemlich pythisch und elegant ausdrücken:

%Vor%

kann wie folgt verwendet werden:

%Vor%

oder noch besser

%Vor%

obwohl in diesem Fall map mit zip kombiniert werden kann:

%Vor%     
user8371915 26.11.2017 14:21
quelle