리스트는 여러 개의 값을 일렬로 늘어놓은 형태이다. 변수에 값을 저장할 때 대괄호[] 로 묶어주고 각 값은 콤마(,) 로 구분한다. 리스트에 저장된 값에 접근할 때는 [] 안에 인덱스를 지정해준다. 이때, 리스트의 인덱스는 0부터 시작한다.
메서드 | 설명 |
---|---|
append(값) | 리스트 끝에 값을 추가, 리스트[len(리스트):]=[값] 과 같음 |
append(리스트) | 리스트 안에 리스트가 들어감 |
extend(리스트) | 리스트 끝에 다른 리스트 연결 |
insert(인덱스, 값) | 리스트의 특정 인덱스에 값 추가 |
pop() | 리스트의 마지막 값을 삭제한 뒤 삭제한 값을 반환 |
pop(인덱스) | 해당 인덱스의 값을 삭제한 뒤 삭제한 값을 반환, del 리스트[인덱스] 와 같음 |
remove(값) | 리스트에서 특정 값을 삭제 |
index(값) | 리스트에서 특정 값의 인덱스를 구함 |
count(값) | 리스트에서 특정 값의 개수를 구함 |
reverse() | 리스트에서 값의 순서를 반대로 뒤집음 |
sort() | 리스트의 값을 작은 순서대로 정렬(오름차순) |
sort(reverse=True) | 큰 순서대로 정렬(내림차순) |
clear() | 리스트의 모든 값을 삭제, del 리스트[:]와 같음 |
copy() | 리스트를 복사하여 새 리스트 생성 |
튜플은 리스트와 같이 여러 개의 값을 일렬로 늘어놓은 형태이다. 단, 요소의 값을 변경하거나 추가하거나 제거할 수 없다. 변수에 값을 저장할 때 () 괄호로 묶어주고 각 값은 콤마로 구분한다. 또한 괄호로 묶지 않고 값만 콤마로 구분해도 튜플이 된다.
위의 리스트 메서드 표의 함수 중에 튜플은 값의 정도를 구하는 index, count 메서드만 사용할 수 있다.
튜플 = (값, 값, 값) # 튜플 생성
튜플 = 값, 값, 값 # 괄호 없이 튜플 생성
리스트, 튜플, range, 문자열 과 같이 값이 연속적으로 이어진 자료형을 시퀀스 자료형(sequence types) 라고 한다. 시퀀스 자료형으로 만든 객체를 시퀀스 객체라고 하며, 시퀀스 객체에 들어있는 각 값을 요소(element) 라고 부른다.
파이썬의 시퀀스 자료형은 공통되는 동작과 기능을 제공한다.
값 in 시퀀스객체 # 시퀀스 객체에 특정 값이 있는지 확인
값 not in 시퀀스객체 # 시퀀스 객체에 특정 값이 없는지 확인
시퀀스객체1 + 시퀀스객체2 # 시퀀스 객체를 서로 연결하여 새 시퀀스 객체를 만듦
시퀀스객체 * 정수 # 시퀀스 객체를 특정 횟수만큼 반복하여 새 시퀀스 객체를 만듦
정수 * 시퀀스객체 # 시퀀스 객체를 특정 횟수만큼 반복하여 새 시퀀스 객체를 만듦
len(시퀀스객체) # 시퀀스 객체의 요소 개수(길이) 구하기
시퀀스객체[인덱스] # 시퀀스 객체의 요소에 접근
시퀀스객체[0] # 시퀀스 객체의 인덱스는 0부터 시작하므로 첫 번째 요소
시퀀스객체[-음수] # 인덱스를 음수로 지정하면 뒤에서부터 요소에 접근, -1은 뒤에서 첫 번째
시퀀스객체[인덱스] = 값 # 시퀀스 객체의 요소에 값 저장
del 시퀀스객체[인덱스] # 시퀀스 객체의 요소를 삭제
시퀀스 자료형은 시퀀스 객체의 일부를 잘라내서 가져오는 슬라이스(slice)를 할 수 있다.
시퀀스객체[시작인덱스:끝인덱스] # 지정된 범위의 요소를 잘라서 새 시퀀스 객체를 만듦
시퀀스객체[시작인덱스:끝인덱스:인덱스증가폭] # 인덱스 증가폭을 지정하면 해당 값만큼
# 인덱스를 증가시키면서 요소를 가져옴
시퀀스객체[:끝인덱스] # 객체의 처음부터 끝 인덱스 - 1까지 가져옴
시퀀스객체[시작인덱스:] # 시작 인덱스부터 마지막 요소까지 가져옴
시퀀스객체[:] # 객체 전체를 가져옴
시퀀스객체[0:len(시퀀스객체)] # len을 응용하여 객체 전체를 가져옴
시퀀스객체[:len(시퀀스객체)] # 시작 인덱스 생략, len을 응용하여 객체 전체를 가져옴
시퀀스객체[:끝인덱스:증가폭] # 객체의 처음부터 증가폭만큼 인덱스를 증가시키면서
# 끝 인덱스 - 1까지 요소를 가져옴
시퀀스객체[시작인덱스::증가폭] # 시작 인덱스부터 증가폭만큼 인덱스를 증가시키면서
# 마지막 요소까지 가져옴
시퀀스객체[::증가폭] # 객체 전체에서 증가폭만큼 인덱스를 증가시키면서 요소를 가져옴
시퀀스객체[::] # 객체 전체를 가져옴, 시퀀스객체[:]와 같음
시퀀스객체[시작인덱스:끝인덱스] = 시퀀스객체 # 범위를 지정하여 여러 요소에 값 할당
시퀀스객체[시작인덱스:끝인덱스:인덱스증가폭] = 시퀀스객체 # 증가폭만큼 인덱스를 건너뛰면서 할당
del 시퀀스객체[시작인덱스:끝인덱스] # 특정 범위의 요소를 삭제(원본 객체가 변경됨)
딕셔너리는 연관된 값을 묶어서 저장하는 자료형이다. {} 중괄호 안에 키 : 값 형식으로 저장한다. 딕셔너리에 저장된 값에 접글 할때는 [] 대괄호 안에 키를 지정하여 값을 불러온다.
딕셔너리 = {키1: 값1, 키2: 값2} # 딕셔너리 만들기
딕셔너리 = {} # 빈 딕셔너리 만들기
딕셔너리 = dict() # 빈 딕셔너리 만들기
딕셔너리[키] # 딕셔너리에서 키로 값에 접근
딕셔너리[키] = 값 # 딕셔너리에서 키에 값 할당
키 in 딕셔너리 # 딕셔너리에 특정 키가 있는지 확인
키 not in 딕셔너리 # 딕셔너리에 특정 키가 없는지 확인
len(딕셔너리) # 딕셔너리의 키 개수(길이) 구하기
메서드 | 설명 |
---|---|
setdefault(키, 기본값) | 딕셔너리에 키-값 쌍을 추가, 키만 지정하면 값에 None을 저장 |
update(키=값) | 딕셔너리에서 키의 값을 수정, 딕셔너리에 키가 없으면 키-값 쌍을 추가 |
pop(키) | 딕셔너리에서 특정 키-값 쌍을 삭제한 뒤 값을 반환, del 딕셔너리[키]와 같음 |
pop(키, 기본값) | 기본값을 지정하면 키가 없을 때 기본 값을 반환 |
popitem() | 딕셔너리에서 임의의 키-값 쌍을 삭제하고 해당 키-값 쌍을 튜플로 반환 |
clear() | 딕셔너리의 모든 키-값 쌍을 삭제 |
get(키) | 딕셔너리에서 특정 키의 값을 가져옴 |
get(키, 기본값) | 기본값을 지정하면 키가 없을 때 기본값을 반환 |
items() | items는 딕셔너리의 키-값 쌍을 모두 가져옴 |
keys() | keys는 딕셔너리의 키를 모두 가져옴 |
values() | values는 딕셔너리의 값을 모두 가져옴 |
copy() | 딕셔너리를 복사하여 새 딕셔너리 생성 |
dict.fromkeys(키리스트) | 리스트(튜플)로 딕셔너리를 만듦, 키 리스트만 지정하면 값은 모두 None이 저장됨 |
dict.fromkeys(키리스트, 값) | 키 리스트와 값을 지정하면 해당 값이 딕셔너리의 값으로 저장됨 |
파이썬에서 세트의 개념은 수학에서 집합의 개념과 비슷하다.
if 조건문을 사용하면 조건식에 해당하는 조건을 만족할 때만 코드를 실행 할 수 있다.
if 조건식:
코드 # 조건식을 만족할 때 코드 실행
또한 elif 를 사용하여 여러 개의 조건식을 지정하여 각각 다른 코드를 실행할 수 있다. 앞의 모든 조건식이 만족하지 않을때 else 를 사용하여 다른 코드를 실행할 수 있다.
if 조건식1:
코드1 # 조건식1을 만족할 때 코드 실행
elif 조건식2:
코드2 # 조건식2을 만족할 때 코드 실행
elif 조건식3:
코드3 # 조건식3을 만족할 때 코드 실행
else:
코드4 # 어떤 조건도 만족하지 않을 때 코드 실행
if문을 잘 사용하기 위해서는 파이썬에서 True와 False로 취급하는 값들을 알아야한다.
for 반복문은 반복할 횟수흫 지정하여 반복할 수 있다. range
함수에 반복할 횟수를 지정하고 앞에 in 과 변수를 지정한다.
for 변수 in range(횟수):
반복할 코드
다음과 같이 세트에 특정 값이 있는지 없는지 확인 할 수 있다.
값 in 세트 # 세트에 특정 값이 있는지 확인
값 not in 세트 # 세트에 특정 값이 없는지 확인
while 반복문은 반복 횟수가 정해져 있지 않을 때, 조건식에 따라 반복 여부를 결정할 때 사용한다. 조건식이 만족하면 계속 반복하고, 조건식이 만족하지 않으면 반복을 끝낸다.
초기식
while 조건식:
반복할 코드
변화식
반복문에서 continue 를 사용하면 반복문의 일부 코드를 건너뛸 수 있다. 단, 반복문을 끝내지 않고 계속 반복한다.
while 조건식1:
if 조건식2:
continue # 아래 코드를 건너뛴 뒤 계속 반복함
코드
반복문에서 break 를 사용하면 반복문을 끝낼 수 있다.
while 조건식1:
if 조선식2:
break # 반복문을 끝냄
for 변수 in 뒤에 리스트(튜플)를 지정하면 반복하면서 모든 요소를 꺼낸다. 특히, enumerate(리스트) 를 지정하면 인덱스와 요소를 동시에 꺼낼 수 있다.
for 변수 in 리스트: # 반복하면서 요소를 꺼내옴
반복할 코드
for 인덱스, 요소 in enumerate(리스트): # 반복하면서 인덱스와 요소를 꺼내옴
반복할 코드
for 인덱스 in range(len(리스트)): # 리스트의 길이로 반복
리스트[인덱스] # 인덱스로 요소에 접근
while 인덱스 < len(리스트): # 리스트의 길이로 반복
리스트[인덱스] # 인덱스로 요소에 접근
인덱스 += 1
map 함수를 사용하면 리스트(튜플)의 요소를 지정된 함수로 처리할 수 있다.
리스트 = list(map(함수, 리스트))
a = list(map(int, a))
튜플 = tuple(map(함수, 튜플))
변수1, 변수2 = list(map(함수, 리스트)) # 언패킹 사용
a, b = list(map(str, range(2)))
변수1, 변수2 = map(함수, 리스트) # 언패킹 사용
a, b = map(int, input().split())
for 변수 in 뒤에 딕셔너리와 각종 메서드를 이용해 키,값을 불러올 수 있다.
for 변수 in 딕셔너리: # 모든 키를 꺼내옴
반복할 코드
for 키, 값 in 딕셔너리.items(): # 모든 키와 값을 꺼내옴
반복할 코드
for 키 in 딕셔너리.keys(): # 모든 키를 꺼내옴
반복할 코드
for 값 in 딕셔너리.values(): # 모든 값을 꺼내옴
반복할 코드