Coding & Programming/Python 기초(A-Z)

[Python:파이썬:기초] 9. 자료형 - 특성요약 : 리스트(List), 튜플(Tuple), 딕셔너리(Dictionary), 집합(Set)

mainCodes 2021. 5. 18. 09:23

[Python:파이썬:기초] 9. 자료형 - 특성 요약 : 리스트(List), 튜플(Tuple), 딕셔너리(Dictionary), 집합(Set) 

 

안녕하세요 JollyTree입니다 (•̀ᴗ•́)و

 

이번이 자료형 마지막 포스팅으로 다소 헷갈리는 일부 자료형들의 특징을 요약정리해 보았습니다. 

 

자료형별 특성 요약

 

자료형 특성
리스트(List) 요소값 순서(인덱스) 있음, 요소값 변경 가능, 요소값 중복 가능
튜플(Tuple)  요소값 순서(인덱스) 있음, 요소값 변경 불가, 요소값 중복 가능
딕셔너리(Dictionary) 요소값 순서(인덱스) 있음(파이썬 3.7.5기준), 요소값 변경 가능, Key값 중복 불가(마지막 Key값 유효)
집합(Set) 요소값 순서(인덱스) 불가, 요소값 변경 가능, 요소값 중복 불가(마지막 요소값 유효)

 

그리고 이렇게 정리한 이유는 크게 두 가지 입니다. 익숙해지면 괜찮겠지만 첫째로 헷갈려서 이고요. 두번째는 자료형의 특성을 잘 이해하면 어떠한 문제가 주어졌을 때 어렵지 않게 해결할 수 있을 것 같아서입니다. 예를 들어, 아래와 같이 a 라는 리스트(List) 변수가 있다고 가정하고, 요소 값 중 중복된 요소를 제거해야 한다고 하면 어떻게 해야 할까요?

 

여러 가지 방법이 있겠지만, 자료형의 특성을 이용하는 방법 중에서 아래 예제와 같이 집합(Set)의 특성을 이용하면 쉽게 해결이 가능합니다.

 

🔗 집합(Set) 특성을 이용한 중복된 요소 제거 예제(Example):

 


1
2
3
4
5
6
7
8
9
10
11
# 중복된 요소 제거 예제
= [112233445566]
= set() #set의 특성 이용
 
for i in a:
     b.add(i)
     
print("a의 값 = ", a)
print("b의 값 = ", b)
print("a의 자료형 = ", type(a))
print("b의 자료형 = ", type(b))
cs

 

🔗 실행결과(Output):

 

 

딕셔너리(Dictionary) 자료형처럼 파이썬 버전에 따라 특성이 조금씩 달라질 수 있습니다. 그리고 요소 값 순서(인덱스)를 지정할 수 없는데 s1[0], s2[1] ..s3[n] 형태로 사용하면 TypeError가 발생할 수 있다는 점도 알아두면 좋을 것 같습니다.

 

TypeError: 'set' object is not subscriptable

 

이상 JollyTree였습니다 (•̀ᴗ•́)و