본문 바로가기
파이썬/통계분석

[파이썬 강의] 34. 자료구조들 사이의 변환(리스트,튜플,딕셔너리,집합)

by 만다린망고 2021. 10. 7.
반응형

우리는 지금까지 파이썬이 제공하는 기본 자료구조들을 배웠습니다. 아래와 같습니다. 

- 리스트
- 튜플
- 딕셔너리
- 집합

type 함수의 반환값은 아래와 같습니다. 

list
tuple
dict
set

자료구조들 사이의 변환함수도 위와 동일합니다. 예를들어 어떤 자료구조를 list로 변환하고 싶다면 list( ) 함수를 사용하면 됩니다. 

리스트를 튜플로 변환하는 방법은 아래와 같습니다. 

>>> L=[1,2,3]
>>> tuple(L)
(1, 2, 3)


튜플을 리스트로 바꾸는 것도 가능합니다. 

>>> T=(1,2,3)
>>> list(T)
[1, 2, 3]


딕셔너리를 다른 자료형으로 변환할 때는 key만 변환됩니다. 

>>> D={'a':10,'b':20}
>>> list(D)
['a', 'b']
>>> tuple(D)
('a', 'b')
>>> set(D)
{'b', 'a'}


리스트를 딕셔너리로 변형해봅시다. 

>>> L=[1,2,3]
>>> dict(L)
Traceback (most recent call last):
  File "<pyshell#314>", line 1, in <module>
    dict(L)
TypeError: cannot convert dictionary update sequence element #0 to a sequence


오류가 발생합니다. 딕셔너리는 key와 value 두가지 입력값이 필요하므로 아래와 같은 리스트를 사용해야 합니다. 

>>> L=[['a',2],['b',5]]
>>> dict(L)
{'a': 2, 'b': 5}


튜플을 딕셔너리로 바꿀 때도 마찬가지입니다. 

>>> T=((1,5),(2,6))
>>> dict(T)
{2: 6, 1: 5}


튜플을 딕셔너리로 바꿀 때는 튜플을 사용합니다. 집합의 원소로 리스트가 불가능하기 때문입니다. 

>>> S={(1,5),(2,6)}
>>> dict(S)
{2: 6, 1: 5}

 

요약하면 아래와 같습니다.

 

변경전 변경후 함수 예시
튜플  리스트 list( ) >>> t=(1,2,3)
>>> list(t)
[1, 2, 3]
딕셔너리 >>> d={'a':1,'b':2}
>>> list(d)
['a', 'b']
집합 >>> s={1,2,3}
>>> list(s)
[1, 2, 3]
리스트 튜플 tuple( ) >>> L=[1,2,3]
>>> tuple(L)
(1, 2, 3)
딕셔너리 >>> d={'a':1,'b':2}
>>> tuple(d)
('a', 'b')
집합 >>> s={1,2,3}
>>> tuple(s)
(1, 2, 3)
리스트 집합 set( ) >>> L=[1,2,3]
>>> set(L)
{1, 2, 3}
튜플 >>> t=(1,2,3)
>>> set(t)
{1, 2, 3}
딕셔너리 >>> d={'a':1,'b':2}
>>> set(d)
{'b', 'a'}
리스트 딕셔너리 dict( ) >>> L=[['a',1],['b',2]]
>>> dict(L)
{'a': 1, 'b': 2}
튜플 >>> t=(('a',1),('b',2))
>>> dict(t)
{'a': 1, 'b': 2}
집합 >>> s={('a',1),('b',2)}
>>> dict(s)
{'a': 1, 'b': 2}

 

반응형

댓글