01-07) 자료형(2)

slow_starter·2025년 5월 22일
0

모두의연구소-DS4기

목록 보기
7/30
post-thumbnail

01. 리스트(list)

  • 리스트는 순서대로 여러 개의 값을 저장함
  • 대괄호([ ]) 안에 콤마(,) 로 요소를 구분하며, 요소는 수치형, 문자형 구애받지 않고 자유롭게 넣을 수 있음
  • 비어 있는 리스트도 생성 가능(나중에 for문 등으로 결과값을 할당할 목적 등)
  • 인덱싱, 슬라이싱 가능함

리스트명 = [요소1, 요소2, 요소3, ....]

# 리스트 사용 예시
a = [3, 13, 23, 33, 43] # 수치형 요소
b = ["안녕", "하세요", "저는"] # 문자형 요소
c = [1, "1", 2, 3, "안녕"] # 수치형, 문자형 요소 
d = [1, 2, [3,4,5], 6] # 리스트 안에 리스트 포함
print(a[1]) # 두 번째 요소인 13이 나옴 (인덱싱, 슬라이싱 가능!)

02. 리스트 관련 연산

  • 리스트 사이의 더하기(+)는 두 리스트를 합치는 연산
  • 리스트의 곱하기(*)는 리스트를 반복
  • 리스트 길이 구할 때 len() 함수 이용
# 리스트 관련 기초적 연산
a = [1,2,3]
b = [4,5,6,7]
print(a+b) # [1,2,3,4,5,6,7]
print(len(a) + len(b)) # 7 
print(a*2) # [1,2,3,1,2,3]

03. 리스트 관련 함수

  • append(x) : 요소 x 추가
  • sort() : 정렬
  • index() : 위치반환
  • insert(a,b) : a번째에 b 삽입
  • remove(x) : 요소 x 제거
  • pop() : 맨 마지막 요소를 반환하고, 원래 리스트에서 삭제
    • 자료구조 배울 때 자주 활용되는 함수!
# 리스트 관련 함수 활용 예시(append)
list_a = [1,2,3,4]
list_a.append(11)
print(list_a) # [1,2,3,4,11]
# 리스트 관련 함수 활용 예시(pop)
list_b = [5,6,7,8,9]
list_b.pop() # 이러면 9가 나오게 됨, 그리고 다시 list_b를 호출하면 [5,6,7,8]이 나옴

04. 튜플(tuple)

  • 수치형, 문자형 자료 구애받지 않고 여러 자료를 나열할 수 있다는 점은
    리스트와 비슷하지만 수정할 수 없다는 점이 다름
  • 튜플명 = (요소1, 요소2, 요소3) 처럼 괄호() 사용
  • 괄호를 생략할 수도 있음
  • 그러면 튜플의 장점은 무엇일까?
    • 튜플은 한 번 생성되면 변경 불가해서 안정적이고, 예측 가능
    • 딕셔너리 키로 사용 가능(좌표 등의 데이터는 key값으로 쓸 때 리스트로 쓰지 못함)
    • 리스트보다 메모리 적게 사용하며, 반복처리시 속도 빠름

05. 딕셔너리(Dictionary)

  • 키(Key), 값(Value)으로 이뤄진 자료 구조
  • Key값을 통해 Value를 꺼낸다!
  • 중괄호 {} 안에 'Key'값과 그에 대응하는 'Value'값이 있는 형태
  • Key값은 중복되면 안되고, Value는 중복되어도 상관 없음

dictionary_1 = {'Key1':'Value1', 'Key2':'Value2', ...}

  • 딕셔너리 자료형 예시
# 딕셔너리(영어사전) 만들기?
dict1 = {'Procrastinate' :'미루다', 'evaluate':'평가하다'}
  • 딕셔너리 관련 함수
    • keys() : Key값 리스트 만들기
    • values() : Value 리스트 만들기
    • items() : key:value 쌍 얻기
    • clear() : key:value 쌍 지우기
    • get() : key로 value얻기
    • in() : 해당 Key가 딕셔너리 안에 있는지 조사

06. 집합(set)

  • 중괄호 {} 안에 값을 넣고 콤마(,)로 구분
  • 중복을 허락하지 않으며, 순서도 의미 없음
  • 집합 관련 연산
연산 종류 기호 함수 설명
합집합 | union() 두 집합의 모든 원소
교집합 & intersection() 두 집합에 모두 있는 원소
차집합 - difference() 왼쪽 집합 원소 중 오른쪽 집합 원소를 뺀 것
배타적 차집합 ^ symmetric_difference() 한쪽 집합에만 있는 원소의 합
  • 집합 관련 함수
    • add() : 원소 한 개 추가
    • update() : 원소 여러 개 추가
    • remove(x) : 특정 원소 제거

07. 불(bool) 자료형

  • 참, 거짓을 표현하는 자료형
  • bool() 함수 통해 True, False 값 반환

08. 변수

  • 영문자(대, 소문자 구분), 숫자, 언더바(_)만 가능
  • 첫 자리는 숫자가 올 수 없으며, 예약어(if 같은 것)는 사용불가
# 변수 할당하기 (튜플 형태)
a, b, c = 900, 800, 920
print(b) # b값 800 이 나옴
# 리스트로도 변수 할당 가능
[x_a,x_b] = [10,20] # x_a에 10, x_b에 20 할당
print(x_a) # 10이 나옴
# 여러 변수에 같은 값 할당도 가능
f = g = h = 100 # f, g, h에 100 할당
# 위 방법 응용해서 변수를 바꿀 수도 있음
k1 = 800
k2 = 900
k1, k2 = k2, k1
print(k1) # 900이 나옴
print(k2) # 800이 나옴
profile
2025화이팅!

0개의 댓글