Python 자료구조

03.자료구조 익히기

리스트 list

리스트는 []대괄호로 묶는다. 수정/추가/삭제가 자유롭다.

  • nuts = ['아몬드', '호두', '땅콩', '마카다미아']
  • dataset[::-1]  #리스트 반대로 출력

추가하기

  • .append()
    • 1개 / 맨끝자리에
    • a(1개) pp end(끝에)
    • nuts.append('헤이즐넛')
  • .insert(위치,값) 
    • 1개 / 원하는 자리에 (i : i번째(위치) 지정)
    • nuts.insert(2, '피스타치오')
  • .extend( [  ] )
    • 1묶음 / 맨끝자리에 (e : 리스트로 묶어서)
    • ex(여러개) t end(끝에)
    • nuts.extend(['캐슈넛', '피칸'])
    • nuts.append(['밤', '도토리']) #추가 리스트 항목으로 추가 됌.

삭제하기

  • .remove()
    • 데이터를 1묶음 명시 / 같은이름의 데이터가 여러개일 경우, 가장 앞에 있는 데이터 1개 삭제
    • nuts.remove(['밤', '도토리'])
  • .pop()
    • 인덱스를 1묶음 명시 / 삭제가 아니라 뽑아내는 것(해당 데이터를 반환) / 인덱스 안적으면 -1(마지막 데이터 뽑아냄)
    • pop = nuts.pop(2)
  • .clear()
    • 변수 내의 데이터 삭제
    • nuts.clear()
  • del
    • 변수 삭제 / 인덱스를 명시하여 해당 원소 여러개 삭제 가능
    • del nuts
    • del nuts[0:2]

유용한 메서드

  • 길이:
    • len()
  • 정렬: 
    • sorted(값)
      • 원본을 바꾸지 않는다.
      • sorted( ,key=len)
      • sorted( ,reverse=True)
    • .sort()
      • 원본을 바꾼다. 점이 있으면 바뀜.
      • .sort(key=len)
    • .reverse()
  • 위치:
    • .index('값')
  • 개수:
    • .count('값')
  • 존재유무(논리):
    • in
  • 리스트 덧셈 / 곱셈
    • var1 + var2  -> var1, var2
    • var1*3 -> var1, var1, var1

튜플 tuple

튜플은 괄호를 사용하지 않는다. 튜플은 ()소괄호로 묶는다. 수정/추가/삭제 절대 안됨.

단! 덧셈과 곱셈은 가능하다.

  • var1 + var2  -> var1, var2
  • var1*3 -> var1, var1, var1

집합 set

집합은 {}중괄호로 묶는다. 중복을 허용하지 않는다.(또 넣어도 의미없다. 오류는 나지 않음.) 순서가 없다.

  • 빈 set 선언: x=set(), x={} #이건 dict 임. 
  • 타입을 바꿔서, 중복 값을 제거할 때 사용하기도 한다.

추가하기

  • add : 1개
    • comp.add('당근')
  • update : 여러개
    • comp.update({'라인', '토스'})

삭제하기

  • remove : 1개/없는 걸 없애라고하면 key error
  • discard : 1개/없는 걸 없애라고해도 에러 X

합집합/교집합/차집합/대칭차집

  • 합집합: |
    • movie = movie1 | movie2
  • 교집합: &
    • movie = movie1 & movie2
  • 차집합: -
    • movie = movie1 - movie2
  • 대칭차집합: ^
    • movie = movie1^movie2

딕셔너리 dict

{}중괄호 사용. :으로 묶여있다.

  • .keys()
  • .Values()
  • .Items()

key와 value 뽑기

  • key 1개:
    • list( dict.keys() )[0]
  • value 1개:
    • dict [키]
    • dict.get (키, 없을때초기값)
    • list( dict.vaules() )[0]

딕셔너리 만들기

  • dict( zip( , ) )
    • dict(zip(리스트_키, 리스트_밸류))
  • dict.fromkeys( , )
    • value를 default로 동일하게 넣는다.
    • dict.fromkeys(keys, vaule_default)

수정 메서드 (+추가 메서드 기능) 

  • update : 여러개 한번에 또는 리스트 또는 딕셔너리 추가
    • comp.update( { : } )
    • comp.update( [ (key,value), 튜플 ] ) #튜플을 바로 넣을 수 없다. 리스트로 넣는다.
    • comp.update( 딕셔너리 )

삭제 메서드

  • del dict[key]
  • del dict
  • .popitem()   (pop과 달리 인수를 사용할 수 없다.)
  • .clear()

딕셔너리 in 용법

  • '이름' in per_info #키 값이 있는지 확인

객체의 성질

가변객체: 함수에서 인자 전달시, 참조(reference)가 전달된다.

  • 리스트
  • 집합
  • 딕셔너리

불변객체

  • 튜플
  • 문자열
  • 정수, 실수

댓글 쓰기

다음 이전