08_03_시퀀스(sequence) 내장함수(enumerate, range, len, sorted, zip)

안녕하세요 MrChooCAI입니다~@#$@#$

이번 포스트에서는 내장 함수의 종류 중 하나인 시퀀스 내장함수에 대해서 알아보도록 하겠습니다.

실습 코드는 github을 참조해 주세요!

Github: https://github.com/Chooyoungjun/pythonstudy/tree/main/08_built_in_function 

[목차]

enumerate() à range() à len() à sorted() à zip()

위와 같은 순서대로 알아보도록 하겠습니다~ 부분 부분만 필요하신 분은 스크롤로 내리시면 되겠습니다.

1.     함수 enumerate()

python에서 enumerate는 열거하다라는 단어입니다. python에서는 List , Tuple , String 등 여러가지 자료형을 입력받으면 인덱스 값을 포함하는 enumerate 객체(tuple)를 돌려줍니다.

[문법]

for item in enumerate([리스트]):

            반복 실행문

실습을 통해서 자세하게 알아보도록 하겠습니다.


위의 실습 과 같이 enumerate가 없이 for문을 사용했을 경우와 있을 때 사용한 for문의 차이를 알 수 있습니다. Enumerate를 사용하면 index를 포함한 tuple data를 반환 하는 것을 알 수 있습니다.

이러한 enumerate를 튜플이 아닌 분리된 형태로 반환을 받을 수 있습니다. 문법부터 실습까지 알아보도록 하겠습니다.

[문법]

for idx, item in enumerate([리스트]):

            반복 실행문

위와 같이 실행 하면 idxindex값이 넣어지는 것을 확인 할 수 있습니다.

[실습]


위의 실습과 같이 index값과 분리하여 반환 하는 것을 확인하였습니다.

2.     함수 range()

range 함수는 연속적인 숫자를 객체로 만들어서 반환해주는 함수입니다.

, 반복이 가능한 숫자형 iterable 객체를 반환해주는 함수입니다.

예를 들어, range(5)를 호출하면 0, 1, 2, 3, 4 가 들어있는 반복 가능한 객체를 알아서 만들어서 반환해주는 아주 간편한 함수입니다. 5가 포함 되지 않은 것을 확인 할 수 있습니다. 시작이 0부터 시작해서 그렇습니다.

-      변수가 한 개일 때 - range(stop)

0에서부터 stop - 1까지의 숫자 연속된 객체로 만들어서 반환해주는 함수

(0 <= x < stop)

-      변수가 두 개일 때 – range(start, stop)

start 에서부터 stop - 1까지의 숫자를 연속된 객체로 만들어서 반환해주는 함수

(start <= x < stop)

-      변수가 세 개일 때 – range(start, stop, step)

start 에서 stop -1까지의 숫자를 연속된 객체로 만들어 주는데, 각 숫자들 사이에 step 만큼의 차이를 두고 만들어줍니다

예를 들면 range(4, -5, -2)라고 한다면 4, 2, 0, -2, -4의 숫자 객체가 만들어집니다.

[실습]


위의 실습 코드와 같이 stop start step 조건에 따라서 iterable객체가 잘 생성되는 것을 확인 할 수 있습니다.

3.     함수 len()

len() 함수에 전달된 객체의 길이(항목수)를 반환하는 함수 입니다.

[실습]

다양한 자료형을 len함수에 넣어서 어떤 값을 반환 하는 지 확인해 보겠습니다.


위의 실습 과 같이 list, dictionary, range함수에서 길이 및 항목수를 잘 반환하는 것을 확인 할 수 있습니다.

4.     함수 sorted()

sorted() 함수에 전달된 반복가능 객체의 오름차순 정렬 결과를 반환합니다. Reverse=True 옵션을 추가할 경우 내림차순 정렬 결과를 반환합니다.

[실습]

실습을 통해서 자세하게 알아보도록 하겠습니다.


위의 실습과 마찬가지로 list안의 수가 정렬되는 것을 확인 할 수 있습니다.

5.     함수 zip()

zip() 함수는 전달된 여러 개의 박복가능객체의 각 요소를 튜플로 묶어서 반환하는 함수입니다. 전달된 반복 가능 객체들의 길이가 서로 다르면 길이가 짧은 반복 가능 객체를 기준으로 동작 합니다.

[실습]


위의 실습과 같이 길이가 다른 반복 가능 객체를 넣었을 경우에는 길이가 작은 기준으로 반복되는 것을 확인할 수 있습니다. 그리고 zip함수로 묶을 수도 있지만 다시 풀어서 for문으로 활용할 수도 있습니다.

이렇게 파이썬에서 Sequence 내장함수에 대해서 알아보았습니다. 긴 글 읽어 주셔서 감사합니다.

Comments