Python
[Python] zip() and enumerate()
seungwonlee
2023. 6. 3. 14:55
zip(), enumerate()에 대해 간략하게 알아보도록 하겠습니다.
내장 함수 zip()는 iterable 객체를 인자로 받아 각 객체가 가지고 있는 값을 튜플의 형태로 접근할 수 있는 iterator를 반환합니다.
1. 기본 문법은 아래 예제를 통해 확인해 보겠습니다.
int_list = [1, 2, 3, 4]
str_list = ['a', 'b', 'c', 'd']
for i, s in zip(int_list, str_list):
print(i, s)
# 1 a
# 2 b
# 3 c
# 4 d
int_list = [1, 2, 3, 4]
str_list = ['a', 'b', 'c', 'd']
for i in zip(int_list, str_list):
print(i)
# (1, 'a')
# (2, 'b')
# (3, 'c')
# (4, 'd')
2. 두 튜플을 사전으로 변환할 수 도 있습니다.
* 튜플은 중복 데이터가 가능하지만 사전은 중복이 불가능하기 때문에 제거된 결과를 확인할 수 있습니다.
아래 예제를 통해 확인해 보겠습니다.
int_list = [1, 2, 3, 4, 4]
str_list = ['a', 'b', 'c', 'd', 'e']
dict_list = dict(zip(int_list, str_list))
print(dict_list)
# 결과: {1: 'a', 2: 'b', 3: 'c', 4: 'e'}
3. 길이가 짧은 인자를 기준으로 데이터를 묶습니다.
아래 예제를 통해 확인해 보겠습니다.
int_list = [1,2,3,4]
str_list = ['a']
for i, s in zip(int_list, str_list):
print(i, s)
# 1 a
enumerate() 또한 내장함수입니다. 인덱스 값을 포함시켜 반복문을 돌리고 싶을 때 사용합니다.
사용문법은 아래 코드블록을 통해 확인해 보겠습니다.
enumerate(iterable, start=0)
아래 예제를 통해 확인해 보겠습니다.
str_list = ['a', 'b', 'c']
for i in enumerate(str_list):
print(i)
# (0, 'a')
# (1, 'b')
# (2, 'c')
for i, val in enumerate(str_list):
print(i, val)
# 0 a
# 1 b
# 2 c
for i, val in enumerate(str_list, 1):
print(i, val)
# 1 a
# 2 b
# 3 c
start 인자는 기본값 0으로 시작하며 시작점을 지정할 수 있습니다.
zip(), enumerate()에 대해 간략하게 알아보았습니다.
끝.
728x90