TIL - 24 set vs dic, List vs tuple

이동근·2021년 1월 14일
0

python

목록 보기
10/18

set

특징

  • 중복을 허용하지 않는다.
  • 순서가 없다. ★저장된 값을 인덱싱으로 접근 하려면 리스트나 튜플로 변환해야한다.

dictionary

특징

  • value와 key가 한 쌍을 이루어 있다.
  • key는 고유한 값이므로 중복되는 . key값을 설정해 놓으면 ㄴ하나늘ㄹ 제외한 나머지 것들이 모두 무시된다는 점 thinking~~!!. 이유는 동일한 key가 존재하면 어떤 key에 해당한s value를 불러야 할지 알 수 없기 때문이다.

set vs dictionary

1. 공통점

  • 중복이 불가능한 collection 자료형이다.

2. 차이점

  • set은 key값만 존재하지만, dictionary는 key와 value값이 같이 존재한다.
  • set은 immutable로서 변경시, 새로운 객체로 생성되기 때문에 기존 객체는 변하지 않는다. 반면 dic은 mutable로서 변경이 일어날때 값의 변화가 생긴다는 것을 알 수 있다.

한걸음 더

  • Frozenset : 얼어붙은 set 말 그대로 set 데이터 타입은 여러개의 데이터를 중복없이 저장하기 위해서 사용한다. forzenset은 이런 특성을 그대로 지닌채 데이터를 변경 할 수 있는 기능만 제거당한 데이터 타입니다. set 은 데이터를 추가하거나, 삭제할 수 있지만, frozenset은 데이터를 함부로 추가하거나 삭제하는 것이 불가능 합니다. 내장함수인 'frozenset()'을 통해 itreable 데이터 타입을 frozenset객체로 변환할 수 있다.

List

특징

  • 파이썬에서 숫자 모음을 숫자나 문자열로 표현하기는 쉽지 않다. 그걸 해결하기 위해 사용하는 자료형이 List이다.
  • [] 이렇게 아무것도 포함 하지 않아 비어 있는 리스트 일 수 도 있고, 숫자열이나 문자열을 요솟값으로 가질 수도 있다. 리스트 자체를 요솟값으로 가질 수도 있다. 즉 리스트 안에는 어떠한 자료형도 포함 시킬 수 있다.

Tuple

특징

  • List 처럼 여러개의 데이터를 순서대로 저장하고 싶을 때 사용하는 데이터 타입입니다. 대부분 기능은 list와 비슷하지만 다른점이 있다.

List vs Tuple

차이점

  • List는 [] 튜플은 ()로 둘러 싼다.

List는 그 값의 생성, 삭제, 수정이 가능하다 하지만 튜플은 그 값을 바꿀 수 없다.

  • tuple은 1개의 값을 가지더라도 뒤에 ',' 가 반드시 들어가야 한다.
  • tuple은 괄호를 생략해도 무방하다.

얼핏 보면 List와 Tuple은 비슷한 역할을 하지만 프로그래밍을 할때 튜플과 리스트는 구병해서 사용하는 것이 유리하다. 가장 큰 차이는 값을 변화 시킬 수 있는가 여부이다.

프로그램이 실행되는 동안 그 값이 항상 변하지 않기를 바란다거나 값이 바뀔까 걱정하고 싶지 않다면 주저하지 말고 튜플을 사용해야 한다. 만약 그 반대라면 List를 사용해야한다.

실제 프로그램에서는 값이 변경되는 형태으 변수가 훨씬 많기 때문에 평균적으로 튜플보다는 리스트를 더 많이 사용한다.

한걸음 더

  • NamedTuple : namedtuple은 사전의 불변 타입에 가깝습니다. dictionary 새로운 키에 값을 추가한다거나 기존 키의 값을 변경하거나 삭제하는 것이 가능합니다. 반면 불변 타입인 namedtuple은 이러한 방식으로 변경하는 것이 허용되지 않습니다. namedtuple은 collection의 내장 모듈로 부터 임포트 해서 사용합니다.
profile
하루하루 1cm 자라는 개발자

0개의 댓글