Python 기본 제공 함수 — range, len, type, sum, map, enumerate

코딩Python
읽는데 12분 소요
처음 쓰여진 날: 2026-04-10
마지막 수정일: 2026-04-10
조회수: 6

요약

Python 기본 제공 함수 range, len, type, sum, enumerate, map, all, any를 한 페이지에 정리합니다. 각 함수의 기본 사용법, 예시 코드, 시험 주의 포인트까지 정보처리기사 실기에 필요한 내장 함수를 모아 다룹니다.

기본 제공 함수 핵심 정리

함수설명예시
range(끝)0부터 끝-1까지 정수(소수점 없는 숫자) 범위 생성range(5) → 0, 1, 2, 3, 4
len(x)요소 개수(길이) 반환len([1, 2, 3]) → 3
type(x)자료형 반환type(100)<class 'int'>
sum(x)숫자 요소의 합 반환sum([1, 2, 3]) → 6
enumerate(x)인덱스와 값을 동시에 반환enumerate(["a", "b"]) → (0, "a"), (1, "b")
map(함수, x)각 요소에 함수를 적용한 결과 반환map(int, ["1", "2"]) → 1, 2
all(x)모든 요소가 참이면 Trueall([True, True]) → True
any(x)하나라도 참이면 Trueany([False, True]) → True

range() — 정수 범위 생성 쌩기초

range()는 정수 범위를 생성하는 함수입니다. for문(같은 동작을 여러 번 반복하는 구문)과 함께 가장 많이 사용됩니다.

사용법 세 가지

python
코드 하이라이팅 중...

기본 사용

python
코드 하이라이팅 중...

for i in range(5):는 변수 i에 0, 1, 2, 3, 4를 차례로 넣으면서 아래 들여쓴 코드를 5번 반복 실행합니다. end=" "print()가 기본적으로 출력 후 줄을 바꾸는 것을 막고, 줄바꿈 대신 공백을 넣어서 옆으로 이어서 출력합니다.

range(5)는 for문이 반복할 때 0, 1, 2, 3, 4를 차례대로 하나씩 꺼내 쓸 수 있게 준비합니다. 5는 포함되지 않습니다.

시작과 끝 지정

python
코드 하이라이팅 중...

간격 지정

python
코드 하이라이팅 중...

range()와 C/Java 대응

C/Java를 배운 적이 있다면 참고하세요.

range 표현생성되는 값C/Java 대응
range(5)0, 1, 2, 3, 4for(i=0; i<5; i++)
range(2, 6)2, 3, 4, 5for(i=2; i<6; i++)
range(0, 10, 3)0, 3, 6, 9for(i=0; i<10; i+=3)

역순 범위

간격에 음수를 넣으면 큰 수에서 작은 수로 내려갑니다.

python
코드 하이라이팅 중...

range(5, 0, -1)은 5부터 시작해서 1씩 줄이며, 0 직전에서 멈춥니다. 0은 포함되지 않습니다.


len() — 길이와 개수 쌩기초

len()은 시퀀스1나 컬렉션(딕셔너리, 집합 등 여러 값을 담는 자료형)의 요소 개수를 반환합니다.

python
코드 하이라이팅 중...

문자열에서의 len()

문자열의 len()문자 수를 셉니다. 공백, 점, 특수 기호도 한 글자로 셉니다.

python
코드 하이라이팅 중...

range()와 함께 쓰기

len()은 리스트의 길이만큼 반복할 때 range()와 함께 자주 쓰입니다.

python
코드 하이라이팅 중...

type() — 자료형 확인 기초

type(x)x가 어떤 자료형(데이터 타입)인지를 알려줍니다.

python
코드 하이라이팅 중...

자료형 비교

type()의 반환값끼리 ==로 비교하면 같은 자료형인지 확인할 수 있습니다.

type(42)<class 'int'>이고, type(100)<class 'int'>입니다. 두 값이 같으므로 == 비교 결과는 True입니다.

python
코드 하이라이팅 중...

조건문에서 자료형 판별

python
코드 하이라이팅 중...

sum() — 합계 기초

sum(x)는 리스트나 튜플 같은 이터러블2에 들어 있는 숫자 요소의 을 반환합니다. 시퀀스(문자열·리스트·튜플)와 컬렉션(딕셔너리·집합)은 모두 이터러블에 속합니다.

python
코드 하이라이팅 중...

평균 계산 패턴

sum()len()을 함께 사용하면 평균을 한 줄로 구할 수 있습니다.

python
코드 하이라이팅 중...

제너레이터 표현식과 함께 쓰기

sum() 안에 제너레이터 표현식을 넣으면 조건에 맞는 값만 골라서 더할 수 있습니다.

python
코드 하이라이팅 중...

%는 나머지 연산자입니다. x % 2 == 0은 "x를 2로 나눈 나머지가 0이다", 즉 짝수인지 확인하는 조건입니다. for x in nums if x % 2 == 0은 nums의 요소를 하나씩 꺼내 짝수인 것만 골라내고, sum()이 그 값들을 더합니다. nums에서 짝수는 2와 4이므로 결과는 6입니다.


enumerate() — 인덱스와 값 동시 반환 기초

enumerate()는 리스트를 for문으로 순회할 때 인덱스와 값을 동시에 돌려주는 함수입니다.

기본 사용법

python
코드 하이라이팅 중...

enumerate(fruits)는 매 회차 (인덱스, 값) 형태의 튜플(소괄호로 묶은 값 묶음)을 만들고, i, v 두 변수가 그 튜플을 언패킹(묶음에서 값을 하나씩 꺼내 각 변수에 넣는 것)해서 받습니다. 변수를 두 개 쓰는 이유는 enumerate()가 인덱스와 값을 쌍으로 돌려주기 때문입니다.

enumerate(fruits) 동작 과정 — 각 요소에 인덱스를 붙여 (인덱스, 값) 튜플을 만들고 i, v로 언패킹
enumerate()가 매 회차 (인덱스, 값) 튜플을 만들고, i와 v 두 변수로 풀어 넣는 과정

enumerate 없이 같은 동작 구현

python
코드 하이라이팅 중...

range(len(fruits))로 인덱스를 만들고 fruits[i]로 값을 꺼내는 방식입니다. enumerate()를 쓰면 이 과정을 한 줄로 줄일 수 있습니다.

start 매개변수

기본 인덱스는 0부터 시작하지만, start 매개변수(함수에 넘겨주는 설정값)로 시작 번호를 바꿀 수 있습니다.

python
코드 하이라이팅 중...

map() — 함수를 각 요소에 적용 심화

map(함수, 이터러블)은 이터러블의 각 요소를 함수에 하나씩 넣어 호출하고, 그 결과를 하나씩 순서대로 꺼낼 수 있도록 저장해 둔 map 객체를 돌려줍니다. map 객체는 리스트와 달리 값을 미리 모두 만들어 두지 않고, 꺼낼 때마다 계산합니다. int는 정수 자료형이면서 동시에 값을 정수로 변환하는 함수로도 쓰입니다.

기본 사용법

python
코드 하이라이팅 중...

위 코드에서 map(int, nums)nums의 각 요소("1", "2", "3")를 int() 함수에 넣어 int("1") → 1, int("2") → 2, int("3") → 3으로 변환합니다.

map(int, nums) 동작 과정 — 각 요소를 int() 함수에 통과시켜 변환
map()은 리스트의 각 요소를 하나씩 함수에 통과시켜 결과를 만든다

map 객체는 list()로 변환해야 합니다

map()은 리스트가 아니라 map 객체를 반환합니다. map 객체는 아직 계산이 완료된 리스트가 아니기 때문에, 그대로 print()하면 값 대신 <map object at 0x...> 처럼 Python 내부 메모리 위치가 출력됩니다.

python
코드 하이라이팅 중...

map()의 동작을 for문으로 풀어 쓰기

python
코드 하이라이팅 중...

lambda와 함께 쓰기

기본 제공 함수 대신 직접 만든 동작을 적용하려면 lambda 표현식(이름을 따로 짓지 않고 한 줄로 쓰는 간단한 함수)과 함께 씁니다.

python
코드 하이라이팅 중...

lambda x: x + 100은 "x를 받아 x + 100을 돌려주는 이름 없는 함수"입니다. map()이 리스트의 각 요소를 이 함수에 넣어 결과를 모읍니다.


all()과 any() 심화

all()any()는 이터러블의 요소를 처음부터 끝까지 하나씩 확인한 뒤, 최종 결과를 True 또는 False 하나로 돌려주는 함수입니다.

all() — 모두 참이면 True

Python에서 숫자 0False로, 0이 아닌 숫자는 True로 취급합니다. 이 규칙이 all()any()에도 그대로 적용됩니다.

python
코드 하이라이팅 중...

any() — 하나라도 참이면 True

python
코드 하이라이팅 중...

all()과 any() 비교

함수조건빈 리스트일 때
all(x)모든 요소가 참이면 TrueTrue
any(x)하나라도 참이면 TrueFalse
python
코드 하이라이팅 중...

제너레이터 표현식과 함께 쓰기

all()any() 안에 제너레이터 표현식을 넣으면 조건 판별을 한 줄로 작성할 수 있습니다.

python
코드 하이라이팅 중...

x % 2 == 0 for x in nums는 nums의 각 요소에 대해 x % 2 == 0(짝수인지)을 검사합니다. 예를 들어 [2, 4, 6, 8]에서는 [2%2==0, 4%2==0, 6%2==0, 8%2==0][True, True, True, True]가 되고, all()이 이 결과를 받아 전부 True이므로 True를 반환합니다.


정보처리기사 실기 기출 문제


Footnotes

  1. 시퀀스(sequence)는 여러 값을 순서대로 묶어 저장하는 자료형입니다. 문자열, 리스트, 튜플이 대표적입니다.

  2. 이터러블(iterable)은 리스트, 튜플, 문자열, 제너레이터처럼 여러 값을 차례대로 꺼낼 수 있는 대상을 통틀어 이르는 말입니다. for ... in ... 구문에 넣을 수 있는 모든 것이 이터러블입니다.