반응형
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 프로토콜을 따르는 모든 타입에서 사용할 수 있어, 배열, 리스트, 세트 등 다양한 시퀀스 타입에 적용할 수 있습니다.
반응형
'iOS > Swift' 카테고리의 다른 글
[ Swift ] Override (0) | 2025.02.06 |
---|---|
[ Swift ] mutating (0) | 2025.02.04 |
[ Swift ] stride, reduce (0) | 2024.05.30 |
[ Swift ] prefix와 suffix (0) | 2024.05.28 |