在外行的条件下,拉链做什么?

时间:2016-03-18 01:33:49

标签: swift zip

我偶然发现了' zip'在某些代码中,我正在学习。

所以我查了一下以获得以下内容:

zip(_:_:) https://developer.apple.com/documentation/swift/1541125-zip

zip screenshot

这与牛奶一样清楚。

zip做什么以及何时使用它?

3 个答案:

答案 0 :(得分:7)

Zip接受一对序列,并将它们变成一对序列。

所以这两个序列:

A = 1, 2, 3
B = 4, 5, 6

拉链成为:

zip(A, B) = (1,4), (2,5), (3,6)

答案 1 :(得分:2)

考虑两个数组,一个[Int]和一个[String]

let a = [1, 2, 3]
let b = ["a", "b", "c"]

然后将这两个数组传递给zip将获得包含这些元素的对数组:

let c = zip(a, b) // => [(1, "a"), (2, "b"), (3, "c")]

答案 2 :(得分:2)

除了给出的答案之外,我认为这有助于添加答案而不是评论:

let a = [1, 2, 3]
let b = [1, 2, 3, 4, 5]

let c = Array(zip(a, b)) // [(1, 1), (2, 2), (3, 3)]

如果您想要在不知道阵列的确切大小且长度不是问题时将两个阵列相互比较时,这非常有用:

let d = zip(a, b).map { $0.0 + $0.1 } // [2, 4, 6]