DataCollectionTypes

김남연·2024년 1월 5일

Python

목록 보기
10/12

Set

  • set은 순서가 없고 중복되지않는 요소들의 집합
  • Mutable : 요소들을 수정할 수 있다.
  • Unordered : 요소들의 순서가 없다. 즉 indexing, slicing이 불가능
  • Distinct : 요소들의 중복이 없다. 중복되는 요소는 하나로 처리됨

How to define a set

  • 요소들을 {}로 감싸고 객체를 지정한다.
  • empty set은 {}이 아니라 set()
  • set()은 single argument만을 입력받는다.
>>> set(2,3,4)
error
>>> set([2,3,4])
{2,3,4}

Set: operations

  • set.add(v) : v를 set에 추가. 이때 v는 단일값이어야함
  • set.clear() : set의 요소들을 전부 삭제
  • set.remove(v) : set의 요소 v를 삭제
  • set1.difference(set2) : set2와 차집합을 출력
    (set1 - set2)
  • set1.intersection(set2) : set2와 교집합 출력
    (set1 & set2)
  • set1.issubset(set2) : set1이 set2의 부분집합인지 논리값 출력 (set1 <= set2)
  • set1.isuperset(set2) : set1이 set2를 포함하는지 논리값 출력 (set1 >= set2)
  • set1.symmetric_difference(set2) : set1과 set2의 대칭차를 출력 (합집합에서 교집합을 뺀것)
    (set1 ^ set2)
  • set1.union(set2) : set1과 set2의 합집합을 출력
    (set1 | set2)

Tuple

  • Immutable, Ordered
  • indexing, slicing이 가능하다
  • for구문에서 list처럼 사용이 가능하다
  • empty tuple은 ()
  • 요소가 1개인 튜플은 요소의 타입인지 튜플인지 헷갈릴 수 있다
  • 이때 1개의 요소 x를 가지는 튜플을 (x,)로 정의한다

Tuple: multiple assignment

  • 변수의 값을 바꾸거나 여러개를 지정할 때 tuple을 사용하면 편리하다.
    a와 b의 값을 바꾸는 코드
>>> a = 'first'
>>> b = 'second'
>>> temp = b
>>> b = a
>>> a = temp
>>> a
second
>>> b
first
>>> a = 'first'
>>> b = 'second'
>>> a,b = b,a
>>> a
second
>>> b
first

Dictionary

  • key와 value를 한 쌍으로 가지는 자료형
  • key는 immutable, value는 mutable
  • Unordered
  • {key1:value1, key2:value2...}로 딕셔너리의 만듦
  • empty dictionary는 {}

Dictionary looping

  • for구문에서 리스트처럼 사용 가능
  • for 구문의 변수에 key값이 순서대로 지정됨
  • 반복문의 조건에서 in논리연산은 value값이 있는지가 아닌 key값이 있는지에 대한 연산

Dictionary methods

  • dictionary.clear() : 딕셔너리의 모든 요소를 삭제
  • dictionary.get(k,v) : 딕셔너리 key인 k에 해당하는 value를 출력. k인 key가 없으면 v를 출력
  • dictionary.keys() : 딕셔너리의 key들을 리스트로 출력
  • dictionary.items() : 딕셔너리의 key와 value의 쌍을 각각 리스트로 list in list형식으로 출력
  • dictionary.pop(k,v) : 딕셔너리의 key인 k에 해당하는 value를 출력하고 k를 삭제. k가 없다면 v를 출력
  • dictionary.values() : 딕셔너리의 value들을 리스트로 출력
  • dictionary.update(other_dictionary) : 파라미터로 다른 딕셔너리를 입력받으며 다른 딕셔너리의 key value들을 추가함

0개의 댓글