[Python] Sequence 데이터 타입

그냥·2022년 5월 26일
0

python

목록 보기
6/9

파이썬에는 단항 데이터 타입과 Sequence(연속형) 데이터 타입이 있다. 오늘은 Sequence 데이터 타입에 대해서 알아보고자 한다. 파이썬에서 Sequence 데이터 타입은 4가지가 있다.

  1. list
  2. tuple
  3. set
  4. dictionary



1. list

파이썬에서 리스트란 원소들이 연속적으로 저장되는 형태의 자료형이다.
특징은 아래와 같다.

  • 서로 다른 데이터 타입을 원소로 가질 수 있다
a = ['apple', 1, True]
  • 리스트 간의 중첩이 가능하다
b = [[1,2,3],[4,5,6]]
  • 내부 데이터를 변경하거나 추가 삭제가 가능하다.
  • 원소들의 중복을 허용한다.
  • 원소들에 각각 index라는 순서가 있다.



2. tuple

리스트와 매우 유사하지만 아래와 같은 차이점이 있다. 리스트와의 차이점이 튜플의 특징이라고 할 수 있다.

  • 리스트는 []로 둘러싸지만, 튜플은 ()으로 둘러싼다.
  • 리스트와 달리 튜플 선언 이후 원소들의 삭제, 수정 등이 불가능 하다.
  • 리스트는 원소 변동이 있을 수 있으므로 여분의 메모리를 가지고 선언된다. 이에 반해 튜플은 원소의 변동이 없으므로 메모리 사용량이 적은 장점을 가지고 있다.



3. set

set은 파이썬에서 집합에 관련된 것을 쉽게 처리하기 위해 만든 자료형이다.
특징은 아래와 같다.

  • 중복을 허용하지 않는다.
a = [1, 2, 3, 3]
b = set(a)
print(b)
{1,2,3}
  • 순서가 없다. 순서가 없으므로 인덱싱이 불가능하다.
  • 집합과 관련된 메서드들이 존재한다.
s1 = set([1,2,3,4,5,6])
s2 = set([4,5,6,7,8,9])

# 교집합
s1 & s2
>> {4,5,6}

s1.intersection(s2)
>> {4,5,6}

# 합집합
s1 | s2
{1,2,3,4,5,6,7,8,9}

s1.union(s2)
{1,2,3,4,5,6,7,8,9}

# 차집합
s1 - s2
{1,2,3}

s1.difference(s2)
{1,2,3}



4. dictionary

dictionary는 이전 자료형과는 다르게 Key: Value 형태의 원소를 갖는 자료형이다.
특징은 아래와 같다.

  • Key: Value 형식으로 저장하며 각 Key 값은 콤마(,)로 구분한다.
  • Key 값의 중복을 허용하지만 마지막에 저장된 Key 값만 사용된다.
dic = {'a':12,'b':13,'a':15}
print(dic)

>>{'a': 15, 'b':13}
  • set처럼 순서가 없다. 하지만 Key 값이 있어 원하는 Value를 찾을 때 Key를 통해 look up 할 수가 있다.
dic = {'a':12,'b':13}
dic['a']

>> 12

0개의 댓글