본문 바로가기
파이썬

6주차, 파이썬 내장함수(enumerate, zip, map, filter)

by 호놀롤루 2022. 1. 24.

enumerate()

반복문을 사용할 때 enumerate를 사용하면 인덱스를 받을 수 있다.

for index, i in enumerate(이터레이터):

    print(index)

    print(i)

이걸 돌리면 index는 객체의 인덱스, i는 반복중인 객체를 반환한다.

 

zip()

이터레이터를 넣으면 이터레이터들을 짝지어서 튜플에 넣은 제네레이터로

반환한다.

list1 = [1, 2, 3, 4]

list2 = [5, 6, 7, 8]

zip(list1, list2)

결과 // <zip at 메모리 주소>

list(zip(list1, list2))

결과 // [(1, 5), (2, 6), (3, 7) (4, 8)]

for i, j in zip(list1, list2):

    print(i)

    print(j)

//

1

5

2

6

3

7

4

8

 

map(함수, 컬렉션)

컬렉션(list, tuple 등)을 매개변수로 받아 컬렉션의 모든 데이터를 함수의 매개변수로

대입해서 결과를 제네레이터로 리턴하는 함수, 주로 람다식 활용

 

list(map(lambda x: x*x, [1, 2, 3, 4]))

[1, 4, 9, 16]

 

filter(함수, 컬렉션)

컬렉션은 매개변수로 받아 컬렉션의 모든 데이터를 함수의 매개변수로 대입해서 결과가

참인 컬렉션의 멤버들을 제네레이터로 반환하는 함수

 

list(filter(lambda x: x%2 == 0, [1, 2, 3, 4]))

[2, 4]

댓글