AIFFEL Python Master 핵심정리 #02 자료형, 조건문, 반복문

이재준·2021년 7월 8일
0

AIFFEL Python Master

목록 보기
2/5

⭐ 리스트(list)

리스트는 여러 개의 값을 일렬로 늘어놓은 형태이다. 변수에 값을 저장할 때 대괄호[] 로 묶어주고 각 값은 콤마(,) 로 구분한다. 리스트에 저장된 값에 접근할 때는 [] 안에 인덱스를 지정해준다. 이때, 리스트의 인덱스는 0부터 시작한다.

⭐⭐ 리스트 메서드

메서드설명
append(값)리스트 끝에 값을 추가, 리스트[len(리스트):]=[값] 과 같음
append(리스트)리스트 안에 리스트가 들어감
extend(리스트)리스트 끝에 다른 리스트 연결
insert(인덱스, 값)리스트의 특정 인덱스에 값 추가
pop()리스트의 마지막 값을 삭제한 뒤 삭제한 값을 반환
pop(인덱스)해당 인덱스의 값을 삭제한 뒤 삭제한 값을 반환, del 리스트[인덱스] 와 같음
remove(값)리스트에서 특정 값을 삭제
index(값)리스트에서 특정 값의 인덱스를 구함
count(값)리스트에서 특정 값의 개수를 구함
reverse()리스트에서 값의 순서를 반대로 뒤집음
sort()리스트의 값을 작은 순서대로 정렬(오름차순)
sort(reverse=True)큰 순서대로 정렬(내림차순)
clear()리스트의 모든 값을 삭제, del 리스트[:]와 같음
copy()리스트를 복사하여 새 리스트 생성

⭐ 튜플(tuple)

튜플은 리스트와 같이 여러 개의 값을 일렬로 늘어놓은 형태이다. 단, 요소의 값을 변경하거나 추가하거나 제거할 수 없다. 변수에 값을 저장할 때 () 괄호로 묶어주고 각 값은 콤마로 구분한다. 또한 괄호로 묶지 않고 값만 콤마로 구분해도 튜플이 된다.
위의 리스트 메서드 표의 함수 중에 튜플은 값의 정도를 구하는 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 시퀀스객체[시작인덱스:끝인덱스]    # 특정 범위의 요소를 삭제(원본 객체가 변경됨)


⭐ 딕셔너리(dictionary)

딕셔너리는 연관된 값을 묶어서 저장하는 자료형이다. {} 중괄호 안에 키 : 값 형식으로 저장한다. 딕셔너리에 저장된 값에 접글 할때는 [] 대괄호 안에 키를 지정하여 값을 불러온다.

딕셔너리 = {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(키리스트, 값)키 리스트와 값을 지정하면 해당 값이 딕셔너리의 값으로 저장됨

⭐ 세트(set)

파이썬에서 세트의 개념은 수학에서 집합의 개념과 비슷하다.


if 조건문

if 조건문을 사용하면 조건식에 해당하는 조건을 만족할 때만 코드를 실행 할 수 있다.

if 조건식:
    코드    # 조건식을 만족할 때 코드 실행

또한 elif 를 사용하여 여러 개의 조건식을 지정하여 각각 다른 코드를 실행할 수 있다. 앞의 모든 조건식이 만족하지 않을때 else 를 사용하여 다른 코드를 실행할 수 있다.

if 조건식1:
    코드1    # 조건식1을 만족할 때 코드 실행
elif 조건식2:
    코드2    # 조건식2을 만족할 때 코드 실행
elif 조건식3:
    코드3    # 조건식3을 만족할 때 코드 실행
else:
    코드4    # 어떤 조건도 만족하지 않을 때 코드 실행

if문을 잘 사용하기 위해서는 파이썬에서 True와 False로 취급하는 값들을 알아야한다.

  • True 로 취급 : 0이 아닌 숫자, 내용이 있는 (문자열, 리스트, 튜플, 딕셔너리, 세트)
  • Falses 로 취급 : 0, None, 비어있는 (문자열, 리스트, 튜플, 딕셔너리, 세트)


for 반복문

for 반복문은 반복할 횟수흫 지정하여 반복할 수 있다. range 함수에 반복할 횟수를 지정하고 앞에 in 과 변수를 지정한다.

for 변수 in range(횟수):
    반복할 코드

다음과 같이 세트에 특정 값이 있는지 없는지 확인 할 수 있다.

in 세트        # 세트에 특정 값이 있는지 확인not in 세트    # 세트에 특정 값이 없는지 확인


⭐⭐ 한 줄 for


while 반복문

while 반복문은 반복 횟수가 정해져 있지 않을 때, 조건식에 따라 반복 여부를 결정할 때 사용한다. 조건식이 만족하면 계속 반복하고, 조건식이 만족하지 않으면 반복을 끝낸다.

초기식
while 조건식:
    반복할 코드
    변화식

⭐ continue, break

반복문에서 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 함수 사용

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():    # 모든 키와 값을 꺼내옴
    반복할 코드
 
forin 딕셔너리.keys():         # 모든 키를 꺼내옴
    반복할 코드
 
forin 딕셔너리.values():       # 모든 값을 꺼내옴
    반복할 코드
profile
🏫 𝑲𝒚𝒖𝒏𝒈 𝑯𝒆𝒆 𝑼𝒏𝒊𝒗. / 👨‍🎓 𝑪𝒐𝒍𝒍𝒆𝒈𝒆 𝒐𝒇 𝑬𝒏𝒈𝒊𝒏𝒆𝒆𝒓𝒊𝒏𝒈

0개의 댓글