ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 파이썬 기본 - 리스트/딕셔너리/튜플/set 기본 사용법
    개발/파이썬 2017.09.26 21:17
    파이썬 문법은 C++ 과 상당히 유사합니다 

    특히 파이썬의 리스트와 딕셔너리는 STL 의 vector<> 와 map<> 을 상당히 많이 닮아 C++ 에 익숙하다면 익히는 데 별 어려움이 없이 적응이 가능해서 좋습니다 

    아래는 간단한 리스트와 딕셔너리에 대한 샘플 코드입니다

    리스트는 [], 딕셔너리는 {}, 튜플은 () 로 선언한다는 것도 유의!

    (자세한 설명은 생략합니다 ^^)


    1. 리스트 

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    # list 테스트
    def listTest():
        # 초기화
        codeList = ["A003540""A005930","A066570"]
        size = len(codeList)
        print("list ->", codeList)
     
        # 추가
        codeList.append("A000660")
        size = len(codeList)
        print("A000660 추가(append) ->", codeList)
     
        # 삭제
        del codeList[0]
        size = len(codeList)
        print("0 번째 아이템 삭제(del) ->", codeList)
     
        # 맨 아이템 꺼내기
        last = codeList.pop()
        print("맨 마지막 아이템 꺼내기(pop) -> ", last, "결과 -->", codeList)
     
        # insert
        codeList.insert(1"A003540")
        size = len(codeList)
        print("1번째에 A003540 insert(1) ->", codeList)
     
        print("for loop #1")
        # FOR LOOP 1
        for code in codeList:
            print(code)
        print("for loop #2")
        # FOR LOOP 2
        for i in range((len(codeList))):
            print(codeList[i])
     
        # 초기화
        codeList.clear()
        print("list 초기화(clear) -> ", codeList)
     
        # 미리 0 으로 채워진 리스트 만들기
        codeList = [0 for i in range(10)]
        print("list 를 0 으로 초기화 -> ", codeList)
     
        # 0, 1, 2, 3, 4, 5, 6, 7, 8, 9  으로 구성된 배열 만들기
        codeList2 = [i for i in range(10)]
        print("리스트를 i 로 초기화 -> ", codeList2)
     
        # tuple in list
        codelist3 = [("A003540"'대신증권'), ("A005930"'삼성전자'), ("000660"'하이닉스')]
        print("리스트안에 튜플 넣기 -> ", codelist3)
        print(codelist3[2][0])
        print(codelist3[2][1])
    cs


    2. 딕셔너리 - STL 의 MAP 과 거의 유사.

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    # dicTest
    def dicTest():
        # 초기화
        codeDic = {"A003540""대신증권""A005930""삼성전자""A000660""하이닉스", }
        print("딕셔너리 --> ", codeDic)
     
        # 추가
        codeDic["A066570"= "LG전자"
        print("새로운 key,value 추가(key = value) -> ", codeDic)
     
        # 검색
        print("A003540" in codeDic.keys()) # True
        print("A000010" in codeDic.keys()) # False
     
        # 삭제
        del codeDic["A003540"]
        print("key A003540 삭제(del []) -> ", codeDic)
     
        print("for loop : key ")
        # for loop
        for key in codeDic.keys():
            print("key %s -> value %s" %(key, codeDic[key]))
     
        print("for loop : key, value ")
        # for loop2
        for key, value in codeDic.items():
            print("key %s -> value %s" %(key, value))
    cs



    3. 튜플 - 수정이 불가능한 배열

    1
    2
    3
    4
    5
    6
    # 튜플 - 리스트와 거의 동일, 단 수정이 불가
    def tupleTest():
        t = ("A003540""A005930")
        print(t)
        for code in t:
            print(code)
    cs


    4. set - 순서가 없고, 중복을 허락하지 않는 배열 

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    # set : 순서가 없고, 중복을 허용하지 않는다 (추가해도 이미 있으면 무시 됨)
    def setTest():
        s = set()
        s.add("2 삼성전자")
        s.add('1 하이닉스')
        # 동일한 값은 추가 되지 않는다
        s.add('2 삼성전자')
        s.add('3 대신증권')
        print('s:',s)
     
        # set {}, 중복해서 넣어도 중복 제거 됨 
        s2 = {'삼성전자''삼성전자''대신증권''하이닉스'}
        print(s2)
     
        for name in s:
            print('for loop test', name)
     
        # set 은 배열처럼 [] 를 할 수가 없다.
        # 아래 코드는 에러 남
        #print(s[1])
     
        list_s = list(s)
        print('list_s[1]', list_s[1])
     
        # 초기값 추가
        s2 = set(['삼성전자''하이닉스'])
        print('s2:', s2)
     
    cs


    댓글 0

Designed by black7375.