※주의: 학부생 수준에서 수업 정리용으로 작성했기에 잘못된 정보 혹은 수정이 필요한 내용이 있을 수 있습니다.
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)
'Computer > Programming Language' 카테고리의 다른 글
C++ STL vector 초기화 방법 (0) | 2021.05.07 |
---|---|
pickle 간단 사용법 feat. with문 (0) | 2021.02.18 |
if __name__ == '__main__'이 뭘까? (0) | 2021.02.15 |
list, tuple, set 간의 자료 구조 변경 (0) | 2021.02.15 |
Python basic skills[수정 중] (0) | 2021.02.14 |