iOS/Swift

[ Swift ] Zip 함수

Sheep1sik 2024. 5. 29. 17:04
반응형

Swift에서 zip 함수는 두 개의 시퀀스를 쌍(pair)으로 묶어서 새로운 시퀀스를 만드는 데 사용됩니다. 이를 통해 두 시퀀스의 요소를 병렬로 처리할 수 있습니다.

 

예를 들어, 다음과 같은 두 배열이 있다고 가정해보자.

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

 

zip 함수를 사용하여 이 두 배열을 쌍으로 묶으면 다음과 같은 결과를 얻을 수 있습니다.

let zippedArray = zip(array1, array2)

for (num, letter) in zippedArray {
    print("\(num) - \(letter)")
}

 

출력은 다음과 같습니다.

1 - a
2 - b
3 - c

 

이와 같이, zip 함수는 두 시퀀스를 병렬로 처리하고, 각 요소를 튜플로 묶어 새로운 시퀀스를 생성합니다. 중요한 점은 zip 함수가 두 시퀀스 중 더 짧은 시퀀스의 길이에 맞춰 결과를 생성한다는 것입니다. 즉, 두 시퀀스의 길이가 다를 경우, 짧은 시퀀스에 맞춰 결과가 생성됩니다.

 

예를 들어, 두 배열의 길이가 다를 때

let array3 = [1, 2]
let array4 = ["a", "b", "c"]

let zippedArray2 = zip(array3, array4)

for (num, letter) in zippedArray2 {
    print("\(num) - \(letter)")
}

 

이 경우 출력은 다음과 같습니다

1 - a
2 - b

 

array3 길이가 짧기 때문에, array4 추가 요소는 무시됩니다. zip 함수는 Swift Sequence Collection 프로토콜을 따르는 모든 타입에서 사용할 있어, 배열, 리스트, 세트 다양한 시퀀스 타입에 적용할 있습니다.

반응형