Python 기초05

Doya·2025년 2월 9일

ESTSOFT_AI개발7기

목록 보기
6/43

개요

  • 2월 07일에 진행한 교육 내용중 리스트, 딕션어리, 집합, 튜플에 대한 내용
  • 내용이 많아서 따로 정리함

리스트

  • 여러개의 자료를 하나의 변수로 관리할 때 사용
  • 삽입, 삭제, 정렬 등 다양한 일을 수행 할 수 있음
  • 매번 변수의 이름을 작성하고 관리하는 것보다 편리하고 효율적

인덱스(index)

  • 리스트의 항목 값을 가리키는 숫자
  • n개의 항목을 가진 리스트의 인덱스는 0부터 n-1까지 증가
  • 최대 인덱스는 len(n_list)-1

인덱싱(indexing)

  • 항목의 인덱스를 이용하여 자료값에 접근

list 구조

Ex1_list = [1,2,3,4,5]
Ex2_list = [1, 'a', 3.14] 

# 빈 리스트 만들기 
Ex3_list = []
Ex3_list = list()

list 연산

  • 리스트 사이에 더하기 연산자 사용 가능
  • 그외 산술 연산자는 사용 불가
list1 = [11, 22, 33, 44]
list2 = [55, 66]

print(list1)
print(list1 + list2)

>>>
[11, 22, 33, 44]
[11, 22, 33, 44, 55, 66]

슬라이싱(Slicing)

  • 리스트내의 항목을 특정한 구간별로 선택하여 잘라내는 기능
  • 구간을 명시하기 위해 리스트_이름[start : end] 문법 사용

dictionary

  • 키와 값을 쌍으로 갖는 자료형
  • 키를 이용하여 값을 참조하는 특성
  • [key]:[value] 형식과 같이 콜론으로 연결되어 정의
  • 항목이 하나이상 모여서 딕션어리를 구성
person = {'이름' : '홍길동', '나이' : 26, '몸무게' : 82 }

>>> person['이름']
'홍길동'

dictionary 삽입과 수정

# 삽입시
딕션어리이름[key] = value # 새로운 키:값의 항목 삽입

# 수정시 
딕션어리이름[key] = value # 기존에 있던 키: 새로운 값

# 삭제시
del 딕션어리이름[key]

dictionary에 사용되는 함수와 연산

  • len()
    딕션어리 내 항목의 수를 얻기 위해 사용
  • in, not in
    키와 값이 딕셔너리에 있는지 확인
  • ==, !=
    두 개의 딕셔너리가 동일한 항목을 갖고 있는지 확인
    단 비교연산자는 지원하지 않음(>, >=, <, <=)

튜플

  • 여러 개의 요소를 가지는 컬렉션 자료형(Collection data type)
  • 리스트와는 달리 한 번 정해진 요소의 순서를 바꿀 수 없음
  • 튜플 내부의 객체를 변경, 삭제가 불가능함 -> 교환불가능 속성(immutable)
# 빈 튜플 생성
tuple0 = ()

# 기본적인 튜플 생성
tuple1 = (1, 2, 3, 4) # tuple1 = 1, 2, 3, 4로도 가능 

# 리스트 -> 튜플
list0 = 1,2,3,4
tuple2 = tuple(list0)

packing 과 unplacking

  • packing
    하나의 변수에 여러 개의 값을 넣는 것을 의미
  • unpacking
    패킹된 변수가 있으면, 여기에서 여러 개의 값을 꺼내오는 것
a = (1, 2) #튜플 패킹
>>> a[0] # 튜플 항목에 대한 참고 
1
b,c = a # 튜플 언패킹 
>>> b
1
>>>c
2

집합(set())

  • 순서가 없는 자료형
  • 중복을 허용하지 않음
  • 교집합, 합집합, 차집합 등의 집합 연산 수행 가능
  • 튜플 -> 집합, 리스트 -> 집합 도 가능하고 그 반대도 가능
#빈 집합
set0 = set()
# 기본적인 집합 생성
set1 = {1,2,3,4}

집합 연산

  • 교집합은 &, 합집합은 |, 차집합은 –, 대칭 차집합은 ^ 연산을 사용
  • 집합 s1과 s2가 있다고 가정한다면, 이 집합의 연산을 적용하기 위해서는 벤다이어그램으로 집합의 원소와 포함관계를 표현해야함
  • 메소드를 이용해서 구할 수도 있음
s1 = {1, 2, 3, 4, 5, 6}
s2 = {4, 5, 6, 7, 8, 9}
>>>s1 | s2    # 합집합을 구함
{1, 2, 3, 4, 5, 6, 7, 8, 9}
>>> s1 & s2   # 교집합을 구함
{4, 5, 6}
>>> s1 - s2    # 차집합을 구함
{1, 2, 3}
>>> s1 ^ s2   # 대칭 차집합을 구함
{1, 2, 3, 7, 8, 9}
profile
안녕하세요. 도야입니다

0개의 댓글