본문 바로가기
개발/파이썬

파이썬 기본 - 리스트/딕셔너리/튜플/set 기본 사용법

by esstory 2017.09.26
파이썬 문법은 C++ 과 상당히 유사합니다 

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

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

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

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


1. 리스트 

# 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])


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

# 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))



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

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



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

# 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)


댓글0