티스토리 뷰

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

'Python' 카테고리의 다른 글

[Python] isdigit() and isalpha()  (0) 2023.05.30
[Python] find()  (0) 2023.01.26
[Python] combinations  (0) 2022.12.28
[Python] permutations  (0) 2022.12.07
[Python] Counter()  (0) 2022.12.06
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/04   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
글 보관함