gpt4 book ai didi

clojure - 什么是 zip(函数式编程?)

转载 作者:行者123 更新时间:2023-12-03 06:30:41 26 4
gpt4 key购买 nike

我最近看到了一些 Clojure 或 Scala(抱歉我对它们不熟悉),它们确实压缩了一个列表或类似的东西。什么是 zip,它从哪里来?

最佳答案

Zip 是指采用两个输入序列并生成一个输出序列,其中使用某个函数将输入序列中同一位置的每两个元素组合起来。 Haskell 中的一个示例:

输入:

zipWith (+) [1, 2, 3] [4, 5, 6]

输出:

[5, 7, 9]

以上是一个更通用的定义;有时,zip 特指将元素组合为元组。例如。再次在 Haskell 中:

输入:

zip [1, 2, 3] [4, 5, 6]

输出:

[(1, 4), (2, 5), (3, 6)]

更通用的版本称为“zip with”。您可以将“zip”视为“zipWith”的特例:

zip xs ys = zipWith (\x y -> (xs, ys)) xs ys 

关于clojure - 什么是 zip(函数式编程?),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1115563/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com