본문 바로가기
컴퓨터 언어/Python

[Python 3] iterable 란 무엇인가. filter(), map(), zip(), sorted

by SuperMemi 2020. 3. 10.
반응형

iterable 이란 반복 가능하다는 뜻이다.

한 번에 하나씩 자료를 반환할 수 있는 파이썬 객체이다.

 

간단히 말해 for 문으로 그 값을 출력 할 수 있는 것을 의미한다.


iterable한 객체 종류

 

- All sequence types : list, str, and tuple

- Some non-sequence types : dict, file, and

       objects of any classes you define with an __iter__() or __getitem__()method.

 


iterable한 객체를 argument로 받는 함수 종류

 

all (x)

 : iterable 자료형 x 를 입력 인수로 받으며, x 가 모두 참이면 True, 하나라도 거짓이면 False를 리턴.

>>> x = [1,2,3,4]
>>> all(x)
True

>>> x = [0,1,2,3]
>>> all(x)
False

 

any (x)

 : iterable 자료형 x 를 입력 인수로 받으며, x 가 하나라도 참이면 True, 모두 거짓이면 False를 리턴.

>>> x = [1,2,3,4]
>>> any(x)
True

>>> x = [0,""]
>>> any(x)
False

>>> x = [0,1,2,3]
>>> any(x)
True

 

filter (function, iterable)

 : iterable한 자료형을 넣었을때, 첫 번째 함수에서 참인 것만 리턴한다.

>>> def positive(x):
...     return x > 0

>>> print(list(filter(positive, [1, -2, 3, -4, 5, -6])))
[1, 3, 5]

 

map (function, iterable)

 : 입력 받은 iterable 자료형의 각 요소가 함수 f에 의해 수행된 결과를 묶어서 리턴한다.

>>> def two_times(x) : return x*2
...
>>> list(map(two_times, [1,2,3,4,5]))
[2, 4, 6, 8, 10]

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

 

max (iterable) , min (iterable)

 : 입력 받은 iterable 자료형의 최대값, 최솟값을 리턴한다.

>>> max([1,2,3,4,5])
5
>>> max("python")
'y'
>>> min([1,2,3,4,5])
1
>>> min("python")
'h'

 

Sorted (iterable)

 : 입력값을 정렬한 후 그 결과를 리스트로 리턴하는 함수이다.

2020/03/10 - [Python] - [Python 3] Range , sorted , sort 란

 

[Python 3] Range , sorted , sort 란

range(stop) 인수가 하나 일때 : 0 <= N < stop 0부터 시작해서 stop-1 까지의 정수 값을 만들어냄. >>> list(range(5)) [0, 1, 2, 3, 4] range([start,] stop) 인수가 두개 일때 : start <= N < stop start부터..

supermemi.tistory.com

 

tuple (iterable)

 : 반복 가능한 자료형을 입력받아 튜플 형태로 바꾸어 리턴하는 함수이다. 만약 튜플이 입력으로 들어오면 그대로 리턴한다.

>>> tuple("abc")
('a', 'b', 'c')
>>> tuple([1,2,3])
(1, 2, 3)
>>> tuple((1,2,3))
(1, 2, 3)

 

zip (iterable*)

 : 동일한 개수로 이루어진 자료형을 튜플 형태로 묶어 주는 역할을 하는 함수이다. 

>>> list(zip([1,2,3],[4,5,6]))
[(1, 4), (2, 5), (3, 6)]

>>> list(zip([1,2,3],[4,5,6],[7,8,9]))
[(1, 4, 7), (2, 5, 8), (3, 6, 9)]

>>> list(zip("abc","def"))
[('a', 'd'), ('b', 'e'), ('c', 'f')]

 

참고

https://bluese05.tistory.com/55

 

 

반응형