Programming Language/Python

[Python]데이터구조1

Sergemeow 2023. 2. 18. 17:03

데이터 구조(Data Structure)

  • 여러 데이터를 효과적으로 사용, 관리하기 위한 구조
  • 파이썬에는 대표적으로 List, Tuple, Dict, Set 등의 데이터 구조가 있음
  • 컴퓨터공학에서는 ‘자료구조’라고 함

데이터 구조 활용하기

  • 데이터 구조를 활용하기 위해서는 메서드(method)를 사용
    • 메서드는 클래스 내부에 정의한 함수, 사실상 함수와 동일
    • 일종의 객체 기능
    • 데이터구조.메서드() 형태로 활용

예시)

str.replace(old, new[,count])
# [ ]는 선택적 인자를 의미

문자열(String Type)

  • 문자들의 나열(sequence of characters)
    • 모든 문자는 str 타입
  • 문자열은 작은 따옴표나 큰 따옴표를 활용하여 표기
    • 문자열을 묶을 때 동일한 문장부호를 활용
    • PEP8에서는 소스 코드 내에서 하나의 문장부호를 선택하여 유지하도록 함
  • 생성된 이후 변경이 불가

리스트(List)

  • 리스트는 여러개의 값을 순서가 있는 구조로 저장하고 싶을 때 사용
  • 가변 자료형. 생성된 이후 변경이 가능

튜플(Tuple)

  • 튜플은 여러개의 값을 순서가 있는 구조로 저장하고 싶을 때 사용
    • 리스트와의 차이점은 생성 후 담고있는 값 변경이 불가(불변 자료형)
  • 항상 소괄호 형태로 사용
a = (1,2,3,4)
a[0] = 3 # Error!
  • 튜플은 변경할 수 없기 때문에 값에 영향을 미치지 않는 메서드만을 지원
  • 리스트 메서드 중 항목을 변경하는 메서드들을 제외하고 대부분 동일

연산자(Operator)

멤버십 연산자

  • 멤버십 연산자 in을 통해 포함여부 확인 가능
1 in [3, 2]
3 in (1, 2, 3, 'hi')
4 in range(3)

산술연산자

[1, 2] + ['a'] # list
# [1, 2, 'a']

(1, 2) + ('a',) # tuple
# (1, 2, 'a')

range(2) + range(2, 5) # range
# Error!

'12' + 'b' # string
# '12b'

반복연산자

[0] * 8 # list
[0, 0, 0, 0, 0, 0, 0, 0]

(1, 2) * 3 # tuple
(1, 2, 1, 2, 1, 2, 1, 2)

range(1) * 3 # range
# Error!

'hi' * 3 # string
'hihihi'

'Programming Language > Python' 카테고리의 다른 글

[Python]각종 메서드  (0) 2023.02.18
[Python]데이터구조2  (0) 2023.02.18
[Python]피보나치수열 만들기  (0) 2023.02.18
[Python]Module  (0) 2023.02.18
[Python]함수 - Packing/Unpacking  (0) 2023.02.18