반응형
출처 : https://note.nkmk.me/en/python-for-enumerate-zip/
Python에서 enumerate()와 zip() 함께 사용하기
Python에서 enumerate()
와 zip()
은 for
루프에서 iterable(list
, tuple
등)의 요소들을 iterate하는 데 유용합니다.
당신은 enumerate()
로 인덱스를 얻을 수 있으며, zip()
으로 여러개의 요소들을 얻을 수 있습니다.
이 글은 enumerate()
외 zip()
을 함께 사용할 때 참고 사항을 설명합니다.
enumerate()와 zip() 함께 사용할 때 참고 사항
여러개의 리스트와 인덱스의 요소를 얻고 싶을 때 enumerate()
와 zip()
를 함께 사용할 수 있습니다.
이 경우, for i, (a, b, ...) in enumerate(zip( ... ))
처럼 괄호로 zip()
의 요소들을 둘러쌓을 필요가 있습니다.
names = ['Alice', 'Bob', 'Charlie']
ages = [24, 50, 18]
for i, (name, age) in enumerate(zip(names, ages)):
print(i, name, age)
# 0 Alice 24
# 1 Bob 50
# 2 Charlie 18
튜플로 zip()
의 요소들을 받을 수도 있습니다.
for i, t in enumerate(zip(names, ages)):
print(i, t)
# 0 ('Alice', 24)
# 1 ('Bob', 50)
# 2 ('Charlie', 18)
for i, t in enumerate(zip(names, ages)):
print(i, t[0], t[1])
# 0 Alice 24
# 1 Bob 50
# 2 Charlie 18
표준 라이브러리의 itertools 모듈의 count()
와 zip()
함수는 (i, a, b)
처럼 nested되지 않은 형태를 생성하는 데 사용될 수 있습니다.
반응형
'Python' 카테고리의 다른 글
피클(Pickle) - 만약 존재하면 불러오고 그렇지 않으면 생성하여 저장하기 (0) | 2021.10.10 |
---|---|
함수 호출에서 별(*)과 쌍별(**) 연산자의 의미는 무엇입니까? (0) | 2021.09.26 |
Python과 Numpy를 사용하여 r-제곱을 계산하는 방법? (0) | 2021.08.20 |
Python에서 날짜 범위를 반복하기 (0) | 2021.05.26 |
Unix 시간을 pandas dataframe에서 읽을 수 있는 날짜로 변환하기 (0) | 2021.05.17 |