03-3 반복 가능 객체를 위한 내장함수
- 반복 가능 객체는 다양한 파이썬 내장함수를 사용할 수 있다
- min()이나 max()와 같은 함수는 반복 가능 객체를 인자로 받아 최댓값과 최솟값을 반환한다
- 이 외에도 all(), any(), ascii(), bool(), filter(), iter()와 같은 고급 내장함수도 제공되고 있다
all() 함수
- 반복 가능한 항목들이 모두 참일 때만, 참을 반환한다
l1 = [1, 2, 3, 4]
l2 = [0, 2, 4, 8]
l3 = [0, 0, 0, 0]
all(l1) # True
all(l2) # False
all(l3) # False
any() 함수
- 임의의 반복 가능한 항목들 중에서 참이 하나라도 있을 경우 참을 반환한다
l1 = [1, 2, 3, 4]
l2 = [0, 2, 4, 8]
l3 = [0, 0, 0, 0]
any(l1) # True
any(l2) # True
any(l3) # False
bool() 함수
- 반복 가능 객체의 값의 존재 여부를 불 값으로 변환한다
l1 = [1, 2, 3, 4]
l2 = [0, 2, 4, 8]
l3 = [0, 0, 0, 0]
bool(l1) # True
bool(l2) # True
bool(l3) # True
l4 = []
bool(l4) # False
filter() 함수
- 반복 가능한 항목들을 하나하나 꺼내어 함수에 넣는다
- 그 리턴 값이 참인 것만 묶어서 반환하는 함수
- 일반적으로 람다 함수를 필터링시 사용
list() 함수
- 내장함수로서 문자열이나 튜플을 리스트로 변환할 때 사용
char_list = list('hello')
# 집합 -> 리스트
s = {1, 2, 3, 4}
s_list = list(s)
# 튜플 -> 리스트
t_list = list((1, 2, 3, 4))
split() 메소드
- 디폴트 구분자로 공백을 사용한다
- 공백을 구분자로 하여 list로 만들어준다
words = 'Python은 아름다운 언어입니다.'
words_list = words.split()
time_str = '2019.02.20'
time_str.split('.') # 구분자로 다른 문자를 사용할 수 있다
join() 메소드
- 리스트의 항목들을 하나의 문자열로 연결할 때 사용
time_list = ['2019', '02', '21']
'.'.join(time_list)
','.join(time_list)
정리
- 반복 가능 자료형에는 any(), all(), bool(), iter(), filter(), map() 등의 내장함수를 사용하여 필요한 연산을 할 수 있다
- list() 함수를 사용하여 집합, 튜플, 문자열을 리스트 객체로 만들 수 있다
- join(), split()과 같은 많은 메소드가 있다