본문 바로가기
2학년 2학기/데이터 사이언스 입문

유용한 파이썬 함수들 - len(), map(), filter(), zip(), reduce(), enumerate()

by kkkkk1023 2024. 9. 19.

 

len()

: 리스트, 문자열 등 자료의 길이 반환

 

map()

: 리스트 내 각 요소들에게 동일하게 간단한 연산을 적용할 때 사용

: 주로 이름 없는 람다 함수로 연산을 정의하고, 이를 각 요소에 적용하도록 하는 형태가 많이 사용됨

# 기본 형태
list(map(변경할 타입, 리스트 명))

list(map(lambda 변경할 형태(람다함수), 리스트명))
# 활용

a = [1, 2, 3, 4, 5]
list(map(str, a)) # ['1', '2', '3', '4', '5']

b = [1, 2, 3, 4, 5]
list(map(lambda x:x+1, b)) # [2, 3, 4, 5, 6]

 

filter()

: 리스트 내 요소 들을 특정 기준으로 필터링(즉, 특정 기준을 만족하는 요소만 추출하도록)할 때 사용

 

# 활용

a = [1, 2, 3, 4, 5]
list(filter(lambda x:x>1, a)) # [2, 3, 4, 5]

 

zip()

: 서로 다른 두 리스트의 동일한 Index의 요소들끼리 묶어서 계산할 때 사용

 

a = ['A', 'B', 'C', 'D']
b = [4.0, 3.0, 2.0, 1.0]
for ele_A, ele_B in zip(a, b):
    print(ele_A, ele_B)
    
# 출력
# A 4.0
# B 3.0
# C 2.0
# D 1.0

 

reduce()

: 리스트 내 각 요소들끼리의 점진적 연산을 통해 하나의 값을 구해내야할 때 사용

a = ['A', 'B', 'C', 'D']
b = [4.0, 3.0, 2.0, 1.0]
from functools import reduce

reduce(lambda x, y:x+y, a)
# ‘ABCD’
reduce(lambda x, y:x+y, a)
# 10.0

 

enumerate()

: 리스트, 집합, 튜플 각각의 요소에 "인덱싱"을 해주는 함수

 

요소만 존재하는 리스트에서 인덱스를 얻고 싶을 때 용이하다.

 

a = ['A', 'B', 'C', 'D’]
for idx, element in enumerate(a):
     print(idx, element)

# 출력
# 0 A
# 1 B
# 2 C
# 3 D

'2학년 2학기 > 데이터 사이언스 입문' 카테고리의 다른 글

Numpy - ndarray의 속성  (0) 2024.09.26
Numpy - random  (0) 2024.09.26
Numpy - 배열의 생성  (0) 2024.09.26
컬렉션 - Dict, Set  (0) 2024.09.19
순서열 -List, tuple  (0) 2024.09.19