Assignment#6 [Python] dictionary

신승호·2021년 4월 16일
0

Assignment

목록 보기
7/8

| Set 과 Dictionary 의 차이

Set

  • Set순서가 없는 중복이 불가능한 collection 자료형이다. -> 내장모듈 collections 알아두면 좋음
  • mutable(가변성)
  • 요소들 간의 순서가 없음 -> 따라서, indexing이 불가 -> not iterable
  • Setadd(요소 1개 추가), update(여러요소 추가), remove 메소드를 활용하여 요소를 추가/삭제한다.
  • 중복제거 교집합, 합집합, 차집합 등의 수학적인 계산이 가능
    • 합집합: a | b, a1.union(a2)
    • 차집합은 a - b or a1.difference(a2)
    • 교집합은 a & b or a1.intersection(a2)

Dictionary

  • Dictionary를 구현한 클래스는 set
  • 따라서, DictionarySet처럼 중복이 불가능한 collection 자료형이고, mutable(가변성) 하며,
  • key : value 라는 독특하고 유용한 구조로 이루어짐
  • 중복이 불가능하다는 뜻은 key값들 끼리 중복이 불가능 하다는 뜻
  • key값value값 확인 하고싶으면 ? keys 메소드values 메소드를 활용
  • key값value값모두 확인하고 싶으면 ? items 메소드를 사용
  • **참고 B = {'a' : [1]}라는 딕셔너리는 value가 list 형태이므로 B['a'].append or B['a'].remove 가 가능

List 와 Tuple 의 차이

List

  • Tuple과 비교가 많이되며, Tuple과의 가장 큰 차이점은 요소를 삭제하거나 변경할 수 있다는 것.
  • 이를 mutable(가변성)이라고 표현함, iterable
  • Listappend, remove 메소드요소들을 추가하거나 삭제할 수 있음
  • Tuple과 마찬가지로 List + List 형식으로 요소를 추가할 수 있음
  • 또한, 다른 type의 데이터들을 담을 수 있음 ['a', 1, 3] 이런 식으로

Tuple

  • List와 비교가 많이되며, List와의 가장 큰 차이점은 요소를 삭제하거나 변경할 수 없다는 것.

  • 이를 immutable(불변성) 이라고 표현함, iterable

  • Listappend, remove 메소드로 요소들을 추가하거나 삭제할 수 있지만 Tuple은 이러한 메소드가 없음

  • Tuple + Tuple 형식으로 요소를 추가할 수는 있으며, 삭제도 indexing을 통해서 삭제하고자 하는 요소의 index를 선택하지 않으면 가능하다.

  • But, 위와 같은 방식은 억지로(?) append나 remove가 된 것 처럼 한 것이라 할 수 있음

    • List에서는 예를 들어 a라는 List가 있을 때, a 자체를 변화를 줄 수 있지만,
    • Tuple에서는 a라는 Tuple b라는 Tuple이 있을때 c = a + b 형식으로 새로운 변수에 할당하는 방식으로 append와 결과적으로만 동일한 튜플을 만들 수 있는 것이다.
  • 또한, 다른 type의 데이터들을 담을 수 있음 ('a', 1, 3) 이런 식으로

profile
신승홉니다

0개의 댓글