파이썬 코테 공부_2. 자료형

Eun-jeong Park·2023년 6월 28일
0

알고리즘

목록 보기
6/7

1. 수 자료형

  • 정수형
    -> 양의 정수, 음의 정수, 0

  • 실수형
    -> 소수 / 소수부나 정수부가 0인 경우 생략가능

    개발 과정에서 실수 값을 제대로 비교하지 못해서 원하는 결과를 얻지 못할 수 있음
    이럴 때는

    round() 함수
    ex) 소수 셋째 자리에서 반올림 round(123.456, 2) => 결과 : 123.46

  • 수 자료형의 연산
    -> 사칙연산, 나머지 연산자

구분 해야할 사항
나누기 연산자(/) : 나눠진 결과를 실수형으로 반환
나머지 연산자(%)
몫 연산자(//)
거듭 제곱 연산자(** )

2. 리스트 자료형

-> 여러 개의 데이터를 연속적으로 담아 처리하기 위해 사용하는 자료형
리스트 대신에 배열 혹은 테이블이라고 부르기도 한다.

  • 리스트의 인덱싱과 슬라이싱
    -> 인덱싱 : 인덱스 값을 입력하여 리스트의 특정한 원소에 접근하는 것

    파이썬의 인덱스 값은 양의 정수와 음의 정수를 모두 사용할 수 있음
    음의 정수를 넣으면 원소를 거꾸로 탐색하게 됨

    	-> 슬라이싱 : 리스트에서 연속적인 위치를 갖는 원소들을 가져와야 할 때 사용

    대괄호 안에 콜론(:)을 넣어서 시작 인덱스와 끝 인덱스를 설정할 수 있음
    끝 인덱스는 실제 인덱스보다 1을 더 크게 설정함

    -> 리스트 컴프리헨션 : 리스트를 초기화하는 방법 중 하나

    대괄호 안에 조건문과 반복문을 적용하여 리스트를 초기화 가능
    ex) array = [i for i in range(10)]
    array2 = [i for i in range(20) if i % 2 == 1]
    array3 = [i * i for i in range(1, 10)]

     * 리스트 컴프리헨션은 2차원 리스트를 초기화할 때 효과적으로 사용 가능
     ex) M X N 크기의 2차원 리스트 초기화
     multi_d_array = [[0] * m for _ in range(n)]
     

    -> 리스트 관련 기타 메서드

    • append() : 변수명.append() : 원소 하나 삽입
      • sort() : 변수명.sort() / 변수명.sort(reverse = True)
        : 오름차순 정렬 / 내림차순 정렬
      • reverse() : 변수명.reverse() : 원소 순서를 모두 뒤집는다.
      • insert() : insert(삽입할 위치 인덱스, 삽입할 값) : 특정한 인덱스 위치에 원소를 삽입할 때 사용한다.
      • count() : 변수명.count(특정값) : 특정한 값을 가지는 데이터개수세기
      • remove() : 변수명.remove(특정값) : 특정값 제거, 여러개면하나만제거

3. 문자열, 튜플 자료형

  • 문자열
    -> 큰 따옴표, 작은 따옴표 구분없이 사용
    문자열 안에서 따옴표를 사용할 때는 백슬래쉬()사용

    > data = "Don't you know \"Python"\?"
    출력 : Don't you know "Python"?
-> 문자열 연산 

문자열 변수에 덧셈(+)를 이용하면 문자열이 더해져서 연결이 됨
문자열 변수를 특정한 양의 정수와 곱하는 경우, 문자열이 그 값만큼 여러 번 더해짐
문자열에 대해서도 마찬가지로 인덱싱과 슬라이싱을 이용할 수 있음
단, 문자열은 특정 인덱스의 값을 변경할 수 없음 (immutable)

  • 튜플
    -> 리스트와 유사하지만, 한 번 선언된 값은 변경 불가능/ 소괄호 사용 ()
    튜플은 리스트에 비해 상대적으로 공간 효율적임

    튜플을 사용하면 좋은 이유
    서로 다른 성질의 데이터를 묶어서 관리해야 할 때
    최단 경로 알고리즘에서는 (비용, 노드 번호)의 형태로 사용
    데이터의 나열을 해싱의 키 값으로 사용해야 할 때
    -> 튜플은 변경이 불가하여, 리스트와 다르게 키 값으로 사용 가능
    리스트보다 메모리를 효율적으로 사용해야 할 때

4. 사전, 집합 자료형

  • 딕셔너리
    -> 키와 값의 쌍을 데이터로 가지는 자료형
    튜플이나 리스트가 값을 순차적으로 저장하는 것과는 다름
    쌍으로 데이터를 가지며, 원하는 변경불가능한 자료형을 키로 사용 가능
    파이썬의 딕셔너리는 해시 테이블을 이용하므로 데이터의 조회 및 수정에 있어서 O(1)시간에 처리할 수 있음

  • 집합 자료형 set()
    -> 중복 x, 순서 x
    리스트 혹은 문자열을 이용하여 초기화할 수 있음 -> set() 함수 이용

  • 중괄호 안에 각 원소를 콤마를 기준으로 구분하여 삽입하여 초기화
    데이터의 조회 및 수정에 있어서 O(1)의 시간에 처리 가능

    집합 자료형의 연산
    * 합집합 : A ∪ B
    -> print(a | b)

    • 교집합 : A ∩ B
      -> print(a & b)
    • 차집합 : A - B
      -> print(a - b)

    집합 자료형 관련 함수
    * 새로운 원소 추가
    ex) data.add(4)

    • 새로운 원소 여러 개 추가
      data.update([5, 6])
    • 특정한 값을 갖는 원소 삭제
      data.remove(3)

    => 딕셔너리와 집합 자료형의 특징

  • 리스트나 튜플은 순서가 있기 때문에 인덱싱을 통해 자료형의 값을 얻을 수 있음

  • 딕셔너리와 집합은 순서가 없어서 인덱싱으로 값을 얻을 수 없음
    사전의 키와 혹은 집합의 원소를 이용하여 O(1)의 시간 복잡도로 조회합니다.

profile
지구를 사랑하는 개발자

0개의 댓글