[Python] List(리스트) vs Tuple(튜플) vs Set(셋) vs Dictionary(딕셔너리)

황인용·2020년 8월 9일
2

Python

목록 보기
43/44

List(리스트)

  • 요소를 삭제하거나 변경할 수 있음
  • mutable(가변성)
  • iterable(순차적인)
  • list + list 형식으로 서로 다른 리스트를 붙임 가능
  • 서로 다른 type의 요소들을 담을 수 있음

list 관련 method

l = []             // 리스트 선언
l = list()        // 리스트 선언
list(seq)         // 리스트로 변환
l.append(1)       // list에 값 1을 요소로 추가한다.
l.insert(2, 'data') // list의 두 번째 요소에 'data'를 삽입한다.
del l[index]      // index 기반 삭제
l.remove(삭제할값) // value 기반 삭제
l.pop()           // list의 tail 삭제 및 반환
l.pop(0)          // list의 head 삭제 및 반환
l.extend(new_list)// list l과 new_list를 병합한다.
l+= new_list      // list l과 new_list를 병합한다.
b = l.copy()      // list l의 복사값을 b에 대입
b = list(l)       // list l의 복사값을 b에 대입
b = l[:]          // list l의 복사값을 b에 대입
l.index('data')   // list 요소 중 'data'의 인덱스 반환
'data' in l       // list'data' 요소가 있는지 True, False 반환
l.count('data')   // 'data' 개수 확인
", ".join(l)      // ,를 기준으로 list를 문자열로 만든다.
sorted(l)         // 정렬된 복사본을 반환
l.sort()          // list 자체를 정렬한다.
len(l)            // list 개수
max(l)            // 요소 중 최대값
min(l)            // 요소 중 최소값

Tuple(튜플)

  • 요소를 삭제하거나 변경할 수 없음
  • immutable(불변성)
  • iterable(순차적인)
  • tuple + tuple 형식으로 서로 다른 리스트를 붙임 가능 (e.g. new_t = t1 + t2)
  • tupel은 append(), remove() 메소드가 없음
    - 처음 선언 시, 요소와 자료구조를 선언해야함 (e.g. t = (1, 2))
  • 서로 다른 type의 요소들을 담을 수 있음 (e.g. t = ('a', 1, 3))

tuple 관련 method

t = (seq)        // 튜플로 변환
t.count           // 요소 개수
t.index(2)        // 요소 위치 index
len.(t)           // 튜플 길이
max.(t)           // 요소 중 최대값
min.(t)           // 요소 중 최소값

Set(셋)

  • 요소의 중복이 불가능한 내장모듈 collection 자료형
  • mutable(가변성)
  • Not iterable
  • 중복제거, 교집합, 합집합, 차집합 등의 수학적인 계산이 가능
  • add(), update(), remove() 메소드를 활용하여 요소/삭제 가능

set 관련 method

s1 = {1, 2, 3, 4, 5}             // s1셋 선언
s2 = {3, 5, 7, 9}                // s2셋 선언
s = set([1,2,2,3,3,3,4,4,4,4]) // 셋으로 변환
s.add(5)                       // 요소 추가
s.update([6,7,8])              // 여러개 요소 추가
s.remove(8)                    // 요소 삭제
s1|s2                          // s1 s2 합집합
s1&s2                          // s1 s2 교집합
s1-s2                          // s1 s2 차집합
s1^s2                          // s1 s2 대칭 차집합

Dictionary(딕셔너리)

  • 중복이 불가능한 collection 자료형
  • mutable(가변성)
  • key-value 구조
  • key 중복이 안됨

dict 관련 method

d = dict()              // 딕셔너리 선언
d.keys()                // 딕셔너리의 키 목록
d.values()              // 딕셔너리의 값 목록
d.items()               // 딕셔너리의 key-value 튜플 목록
d.clear()               // 딕셔너리의 모든 요소 삭제
d.copy()                // 딕셔너리 복사
d.fromkeys()            // seq, value 셋으로 딕셔너리 생성
d.get(key, default=None) // 해당 키의 저장된 값 확인
d.setdefault(key, default-None) // 해당 키의 저장된 값 확인(만약 값이 없으면 None)
d.update(d2)            // 딕셔너리에 'd2'라는 딕셔러니를 추가
len(d)                  // 딕셔너리 길이
str(d)                  // 딕셔너리를 문자열로 변환
profile
dev_pang의 pang.log

0개의 댓글