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)가 전달된다.
- 리스트
- 집합
- 딕셔너리
불변객체
- 튜플
- 문자열
- 정수, 실수
Tags:
AI개발_교육