728x90
zip()
ํ์ด์ฌ์ zip() ํจ์๋ ์ฌ๋ฌ ์ดํฐ๋ฌ๋ธ(iterable)(๋ฆฌ์คํธ, ํํ ๋ฑ)์ ๋์์ ์ํํ๋ฉด์, ๊ฐ ์ดํฐ๋ฌ๋ธ์ ๋์ผํ ์ธ๋ฑ์ค์ ์๋ ์์๋ค์ ํํ๋ก ๋ฌถ์ด ๋ฐํํ๋ ํจ์์ด๋ค. ์ฆ, ์ฌ๋ฌ ์ํ์ค์ ์์๋ค์ ํ๋์ฉ ์ฐจ๋ก๋๋ก ์ง์ง์ด์ค๋ค.
zip() ๊ธฐ๋ณธ ๊ตฌ๋ฌธ
zip(iterable1, iterable2, ...)
- ์ ๋ ฅ : ์ฌ๋ฌ ๊ฐ์ ์ดํฐ๋ฌ๋ธ ๊ฐ์ฒด (์: ๋ฆฌ์คํธ, ํํ ๋ฑ).
- ์ถ๋ ฅ : ๊ฐ ์ดํฐ๋ฌ๋ธ์ ์์๋ค์ ๋ฌถ์ ํํ๋ก ์ด๋ฃจ์ด์ง ์ดํฐ๋ ์ดํฐ.
์ฌ์ฉ ๋ฐฉ๋ฒ
1๏ธโฃ ๋ฆฌ์คํธ ๋ ๊ฐ๋ฅผ ๋ฌถ๊ธฐ
list1 = [1, 2, 3]
list2 = ['a', 'b', 'c']
zipped = zip(list1, list2)
print(list(zipped))
์ถ๋ ฅ ๊ฒฐ๊ณผ
[(1, 'a'), (2, 'b'), (3, 'c')]
- ๋ฆฌ์คํธ list1๊ณผ list2์ ๊ฐ ์์๊ฐ ํํ๋ก ๋ฌถ์ฌ ๋ฐํ๋๋ค.
2๏ธโฃ ์ฌ๋ฌ ์ดํฐ๋ฌ๋ธ ๋ฌถ๊ธฐ
list1 = [1, 2, 3]
list2 = ['a', 'b', 'c']
list3 = [True, False, True]
zipped = zip(list1, list2, list3)
print(list(zipped))
์ถ๋ ฅ ๊ฒฐ๊ณผ
[(1, 'a', True), (2, 'b', False), (3, 'c', True)]
- ์ฌ๋ฌ ๊ฐ์ ๋ฆฌ์คํธ๋ ํํ๋ zip()์ผ๋ก ๋ฌถ์ ์ ์๋ค.
3๏ธโฃ ๊ธธ์ด๊ฐ ๋ค๋ฅธ ์ดํฐ๋ฌ๋ธ
list1 = [1, 2]
list2 = ['a', 'b', 'c']
zipped = zip(list1, list2)
print(list(zipped))
์ถ๋ ฅ ๊ฒฐ๊ณผ
[(1, 'a'), (2, 'b')]
- zip() ํจ์๋ ๊ฐ์ฅ ์งง์ ์ดํฐ๋ฌ๋ธ์ ๊ธธ์ด์ ๋ง์ถฐ ์ง์ ์ง๋๋ค.
- ๋ฐ๋ผ์ ๊ธธ์ด๊ฐ ๋ค๋ฅผ ๊ฒฝ์ฐ, ๊ฐ์ฅ ์งง์ ์ดํฐ๋ฌ๋ธ์ ๊ธธ์ด์ ๋ง์ถฐ ๋๋จธ์ง ์์๋ค์ ๋ฒ๋ ค์ง๋ค.
- ์ ์ฝ๋์์ list1์ ๊ธธ์ด๊ฐ ๋ ์งง๊ธฐ ๋๋ฌธ์, list2์ 'c'๋ ๋ฒ๋ ค์ง๋ค.
4๏ธโฃ zip()์ผ๋ก ๋์ ๋๋ฆฌ ๋ง๋ค๊ธฐ
keys = ['name', 'age', 'city']
values = ['Alice', 25, 'New York']
dictionary = dict(zip(keys, values))
print(dictionary)
์ถ๋ ฅ ๊ฒฐ๊ณผ
{'name': 'Alice', 'age': 25, 'city': 'New York'}
- ํค์ ๊ฐ์ ๋ฆฌ์คํธ๋ ํํ๋ก ๋ฌถ์ด ๋์ ๋๋ฆฌ๋ฅผ ์์ฑํ ์ ์๋ค.
zip()์ ์ญํ์ฉ (Unzipping)
zipped = [(1, 'a'), (2, 'b'), (3, 'c')]
list1, list2 = zip(*zipped)
print(list1)
print(list2)
์ถ๋ ฅ ๊ฒฐ๊ณผ
(1, 2, 3) # list1
('a', 'b', 'c') #list2
- zip()์ผ๋ก ๋ฌถ์ธ ํํ๋ค์ ๋ค์ ํ์ด๋ด๋ ๊ฒ๋ ๊ฐ๋ฅํ๋ค.
- * ์ฐ์ฐ์๋ฅผ ์ฌ์ฉํ์ฌ ์ธํจํนํ ์ ์๋ค.
728x90
'๐ฌ Explore > ํ์ด์ฌ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| [ํ์ด์ฌ] enumerate() ํจ์ (0) | 2024.10.29 |
|---|---|
| [ํ์ด์ฌ] set, ์งํฉ ํจ์ (0) | 2024.10.29 |
| [ํ์ด์ฌ] ๋์ ๋๋ฆฌ(Dictionary), dict() (0) | 2024.10.25 |
| [ํ์ด์ฌ] set() (์งํฉ ํจ์) (0) | 2024.10.24 |
| [ํ์ด์ฌ] replace() ๋ฉ์๋ (0) | 2024.10.22 |