본문 바로가기
  •                        自分に負けずやれば出来る
  • 自分を信じる
Computer/Programming Language

[기본문법] 리스트(list),튜플(tuple), 딕셔너리(dictionary) 정리

by Divertome 2020. 11. 29.

※주의: 학부생 수준에서 수업 정리용으로 작성했기에 잘못된 정보 혹은 수정이 필요한 내용이 있을 수 있습니다.

python을 제대로 공부한 적 없이, 과제에 맞춰 그때 그때 문법을 찾아보면서 공부를 하다보니 기본 개념 및 문법이 매우 빈약함을 느껴 정리하려 한다.

list와 tuple의 차이는 무엇일까?

list와 tuple은 둘 다 컨테이너로써, 일련의 객체를 저장하는데 사용한다.

list_name =[1,2,3,"나","너","우리",3.14]

tuple_name=(1,2,3,"나","너","우리",3.14)

우선 튜플과 리스트 모두 형식에 관계없이 동시에 담을 수 있다. (string, integer, float 등 상관없음)

리스트의 경우에는 list_name =[1,2,3]과 같이 [를 사용하여 선언 할 수 있는 반면

튜플의 경우에는tuple_name=(1,2,3,"나","너","우리",3.14)처럼 (를 사용하여 선언한다.

두 자료형의 큰 차이는 바로 mutable한가 그렇지 않은가 이다.

튜플은 append()와 같은 함수를 사용하여 자료형 내 값을 추가시키거나 수정 할 수 없는 반면, 리스트는 자유롭게 더하거나 삭제, 수정 등이 가능하다.

이 점과 딕셔너리의 Key value로 list값이 올 수 없다는 점을 활용하여 list를 tuple로 바꾼 뒤 딕셔너리의 key값으로 사용할 수도 있다.

dic={['python',18]:15,['whyrano',2020]:10}

또한 파이썬 내부적으로는 튜플을 이용하여 동작한다고 한다.

딕셔너리의 경우에는 Key값과 Value값을 가지고 있는 자료형인데, 아래와 같이 정의한다.

dic = {'name':'pey', 'phone':'0119993323', 'birth': '1118'}

'key값:value값'의 형식을 가진 리스트라고 생각하면 된다. 하지만 위에서도 말했다시피 key값으로는 list가 불가능하다.

딕셔너리를 저장해두고 후에 for문 등에서 for i in dic.values()for i in dic.key()를 사용하여 각각의 값만 차례로 뽑아서 대입하는 경우가 많다.

※list를 tuple로 바꾸기.

list_name.tuple()
or
tuple(list_name)

※tuple을 list로 바꾸기.

tuple_name.tolist()
or
list(tuple_name)