백구의 코딩찌개
  • [PYTHON] 파이썬 - Collection (컬렉션)
    2024년 01월 25일 22시 49분 51초에 업로드 된 글입니다.
    작성자: 코딩백구
    반응형

    오늘은 파이썬에서 자주 사용하는 네가지 컬렉션에 대해 알아보도록 하겠습니다.

    파이썬에는 기본적으로 List, Tuple, Set, Dictionary 가 있습니다.

    List

    • 파이썬에서는 배열을 리스트로 선언하며, 서로 다른 자료형을 넣을 수 있다.
    • 리스트도 인덱싱 및 슬라이싱이 가능.
    선언 방법
    a = []		# 빈 리스트
    b = [1, 2, 3]	# 정수로만 이루어진 리스트
    c = ['a', 'b', 'c', 'd']	# 문자열로 이루어진 리스트
    d = [1, 2, 'a', 'b', True]	# 여러 자료형으로 이루어진 리스트
    e = [1, 2, ['a', 'b']]		# 이중 리스트
    f = [1, 2, ['a','b',['안녕','하세요']]]	# 3중 리스트

     

    기본 연산자 (+ , *)
    # 리스트 연산자
    list_a = [1, 2, 3]
    list_b = [4, 5, 6]
    
    print('list_a + list_b :', list_a + list_b) # 하나의 리스트로 합쳐진다.
    print('list_a * 3 :', list_a * 3)   # 3번 반복 출력된다.
    
    # 실행 결과
    list_a + list_b : [1, 2, 3, 4, 5, 6]
    list_a * 3 : [1, 2, 3, 1, 2, 3, 1, 2, 3]

     

    메서드 (append, insert, extend)
    • append 는 리스트 맨 뒤에 값을 추가
    • insert 는 지정된 위치에 값 추가
    • extend 는 2개 이상의 리스트를 기존 리스트에 추가할 때
    list1 = [1, 2, 3]
    print('list1 :', list1)
    
    list1.append(4)     # append 함수는 리스트 맨 뒤에 값을 추가
    print('list1 :', list1)
    
    list1.append(100)
    print('list1 :', list1)
    
    list1.insert(0, 50) # 0번 자리에 50을 넣겠다.
    print('list1 :', list1)
    
    list1.extend(['cherry','banana']) # 마지막 위치에 해당 리스트 추가

     

    메서드 (del, pop, remove)
    # 리스트 요소(값) 제거 (인덱스 번호로 삭제) : del, pop
    # remove : 특정 값으로 제거
    
    list2 = [0, 1, 2, 3, 4, 5]
    
    del list2[1]    # 1번 인덱스 자료를 삭제
    
    list2.pop(2)    # 2번 인덱스 자료를 삭제 및 리턴
    list2.remove(2) # 2를 제거
    print()
    
    list3 = [0, 1, 2, 3, 4, 5, 6]
    
    del list3[3:6]  # 슬라이싱 삭제는 del 함수만 가능

    Tuple

    • 읽기 전용 리스트로써 값을 수정할 수 없다.
    선언 방법
    t1 = (1, 2, 3)
    
    t2 = 1, 2, 3    # 소괄호 생략 가능
    
    t3 = tuple([100, 3.14, 'hello'])
    
    t4 = (100)      # 튜플이 아닌 일반 변수로 인식
    
    t5 = (100,)     # 값이 하나일때는 쉼표를 붙여준다
    print('t5 :', t5)

    List 와 Tuple 의 공통점

    • 연산 가능 (덧셈, 곱셈)
    • 인덱싱, 슬라이싱 가능

    List 와 Tuple 의 차이점

    • 리스트는 [] , 튜플은 ()
    • 리스트는 요소의 추가, 수정, 삭제 가능
    • 튜플은 요소를 변경할 수 없다.

    Set (집합)

    선언 방법
    s1 = {1, 2, 3}
    print('세트 s1 :', s1)
    
    # 값을 1개 추가하기 (add)
    
    s1.add(4)
    print('세트 s1 :', s1)
    
    # 값을 여러개 추가하기 (update)
    
    s1.update([5, 6, 7])
    print('세트 s1 :', s1)
    
    # 특정값을 제거하기 (remove)
    
    s1.remove(3)    # 값 3을 지워라
    print('세트 s1 :', s1)
    
    # 실행 결과
    세트 s1 : {1, 2, 3}
    세트 s1 : {1, 2, 3, 4}
    세트 s1 : {1, 2, 3, 4, 5, 6, 7}
    세트 s1 : {1, 2, 4, 5, 6, 7}

     

    Set 의 교집합, 합집합, 차집합
    s1 = {1, 2, 3, 4, 5, 6}
    s2 = {4, 5, 6, 7, 8, 9}
    
    print('세트 s1 :', s1)
    print('세트 s2 :', s2)
    
    # 교집합
    print(s1 & s2)
    print(s1.intersection(s2))
    
    # 합집합
    print(s1 | s2)
    print(s1.union(s2))
    
    # 차집합
    print(s1 - s2)
    print(s1.difference(s2))
    print(s2 - s1)
    print(s2.difference(s1))
    
    ======================실행 결과======================
    세트 s1 : {1, 2, 3, 4, 5, 6}
    세트 s2 : {4, 5, 6, 7, 8, 9}
    {4, 5, 6}
    {4, 5, 6}
    {1, 2, 3, 4, 5, 6, 7, 8, 9}
    {1, 2, 3, 4, 5, 6, 7, 8, 9}
    {1, 2, 3}
    {1, 2, 3}
    {8, 9, 7}
    {8, 9, 7}

    Dictionary (딕셔너리)

    • Js 의 object, map 과 비슷하게 Key, Value 가 한쌍으로 이루어져있다.
    선언 방법
    dic = {'name' : '홍길동', 'birthday' : '1212'}
    print('딕셔너리 dic :', dic)
    
    # 특정값을 출력할 때
    print(dic['name']) 
    
    # 딕셔너리 값을 수정 할 때
    dic['name'] = '라이언'
    print('딕셔너리 dic :', dic)
    
    # 딕셔너리 쌍을 추가 할 때
    dic['address'] = '대구'       # 해당하는 키가 없으면 추가됨
    print('딕셔너리 dic :', dic)
    
    # 딕셔너리 쌍을 추가 할 때
    dic['address'] = '대구'       # 해당하는 키가 없으면 추가됨
    print('딕셔너리 dic :', dic)
    
    # 딕셔너리 쌍을 삭제하기
    del dic['address']      # address에 해당하는 키와 값을 삭제
    print('딕셔너리 dic :', dic)
    
    # key 리스트 만들기
    print(dic.keys())       # dic의 key 부분만 따로 모은것
    
    # 값(value) 리스트 만들기
    print(dic.values())     # 값 부분만 따로 모은것
    
    # items 함수를 이용해서 쌍을 얻기
    print(dic.items())      # 쌍이 튜플 형식으로 묶인다
    
    # 키와 값을 모두 지우기
    dic.clear()
    print('딕셔너리 dic :', dic)
    
    # 실행 결과
    딕셔너리 dic : {'name': '홍길동', 'birthday': '1212'}
    홍길동
    딕셔너리 dic : {'name': '라이언', 'birthday': '1212'}
    딕셔너리 dic : {'name': '라이언', 'birthday': '1212', 'address': '대구'}
    딕셔너리 dic : {'name': '라이언', 'birthday': '1212'}
    dict_keys(['name', 'birthday'])
    dict_values(['라이언', '1212'])
    dict_items([('name', '라이언'), ('birthday', '1212')])
    딕셔너리 dic : {}

     

    반응형

    'Language > Python' 카테고리의 다른 글

    [PYTHON] 파이썬 - 문자열 메서드  (2) 2023.12.28
    [PYTHON] 파이썬 기본 문법  (0) 2023.12.28
    [PYTHON] 파이썬이란?  (2) 2023.12.28
    댓글