자료형 - 리스트와 튜플 그리고 딕셔너리

파이썬 언어의 리스트와 튜플은 다른 프로그래밍 언어에 존재하는 배열(array) 등과 유사한 역할을 한다.
    
    tuple1 = (1, 2, 3)
    print(type(tuple1), tuple1)

    list1 = [1, 2, 3]
    print(type(list1), list1)
    list1.append(5)
    print(list1)
    list1.insert(0, 0)
    print(list1)

리스트와 튜플은 모두 1차원 자료 구조로써 배열과 비슷하다. 이 둘의 차이점은 값을 할당할 때 리스트는 []를 사용하고 튜플은 ()를 사용한다는 것 외에도, 리스트는 값을 삽입, 수정, 삭제 등 변경할 수 있는 mutable 객체인 반면, 튜플은 그 값을 변경할 수 없는 immutable 객체라는 것이다. 너무나도 당연하겠지만, 일반적으로 속도는 튜플쪽이 조금 더 빠르다고 한다. 
   
    list2 = [1 , 2, [4, 5]] 
리스트 안에 리스트를 넣어서 다차원 리스트를 만드는 것도 가능하다.





파이썬 언어의 딕셔너리는 타 언어의 연관배열 혹은 해쉬와 유사하다. 즉, 키와 값의 쌍을 가지며, 순서에 무관하다. 값을 변경할 수 있는 mutable이다.
    
    dict1 = {'one': 1, 'two' :2, 'three': 3, 'four' :4}
    print(type(dict1), dict1)

    dict2 = dict(
        one= 1, two=2 , three=3, four= 4
    )

위 코드의 dict2에서와 같이 생성자를 통해서 할당하는 것이 좀 더 편리하다.

    
    

    
    set1 = {'h', 'e', 'l' , 'l', 'o'}
    print(type(set1), set1) # <class 'set'> {'l', 'o', 'e', 'h'}
   
    set2 = set(list1)

더불어, set이라는 자료형도 있는데, 이는 중복을 허용하지 않는 순서없는 집합이다.


댓글

이 블로그의 인기 게시물

Project Euler - 3

메인 스크립트

예외 처리