3-1/Python

10주차-Dictionary and Set

Donghun Kang 2024. 5. 12. 18:13
  • lambda표현식
이름이 없는 함수를 만들때 사용
람다 표현식에서 변수를 만들거나 할 수 없기 때문에 함수를 완전히 대체하지는 못함

EX)

 
  • map함수
반복 가능한 객체를 지정된 함수로 처리해주는 함수
리스트 뿐 아니라 모든 반복 가능한 객체를 넣을 수 있음

 

  • lambda & map
3으로 나누어 떨어지는 것들은 문자열로 출력

  • 딕셔너리(dictionary)
중괄호({ })로 묶어서 키(key)와 값(value)의 쌍으로 구성
- 자료의 순서가 없으므로 순차적으로 접근X
- 인덱스로 접근X/ 키(key)로 접근O
- key: 변하지 않는 값을 사용/ value: 변하는 값과 변하지 않는 값 모두 사용
=> key에는 튜플 O, 리스트X

 

  • 항목 추가하기
항목 추가 시 순서는 중요하지 않다.
  • 항목 삭제하기
  1. del

2. pop(): key에는 해당하는 값을 반환하고 해당 항목을 삭제

  • 항목 접근하기: key를 사용하는 방법만 가능/ 해당 key가 없으면 ERROR

2. get(): key에 해당하는 값을 반환/ 해당 key가 없으면 None이 반환됨

 

  • 항목 수정하기
  1. update(키=값): key에서 작은(큰) 따옴표는 빼야함
name에는 따옴표를 붙이지 않는다!

 

1) person['name']='최민우' (O) ->문자열에 따옴표 없으면 ERROR

2) person[0]='000' (O) ->항목 추가

3) person.update(0='001') (X) -> ERROR

  • 비어있는 딕셔너리 생성
{ } / dict()
  • 딕셔너리 주의사항
  1. 동일한 key선언할 때
중복된 key를 사용하면 하나만 사용되고 나머지는 무시

2. key는 변하는 않는 값이어야 한다

리스트X/ 튜플O
 
  • keys() 메소드
key-value쌍에서 key에 대한 목록을 만들 때 사용
리스트로 반환하지 않고 dict_keys객체로 반환(메모리 낭비가 생기므로)
dict_keys객체를 리스트로 변환하려면 list()사용

 

  • items() 메소드 
key-value 쌍 자체를 목록으로 만들때 사용
dict_items 객체를 반환
dict_items객체를 리스트로 변환하려면 list()사용
  • in연산자
key값이 딕셔너리에 존재하는지 확인
결과를 True/ False로 반환
  • clear() 메소드
딕셔너리의 모든 key-value 쌍을 지운다

  • 세트(set)
{ }안에 값을 저장하며 각 값은 , 로구분
요소 순서가 없다/ 요소 중복을 허용하지 않는다.
변경 가능한 값은 허용되지 않는다.(리스트X, 튜플O)
 
  • set()함수
비어있는 세트 생성시 { }사용 X(빈 딕셔너리가 된다)
세트는 [ ]로 특정 요소에 직접 접근할 수 없다.

 

  • 요소 존재 확인
  1. in연산: 결과를 True/ False로 반환

2. if/ for문

  • 요소 추가하기
  1. add(): 요소 하나 추가

2. update(): 리스트로 요소 여러개 추가

  • 요소 삭제하기
  1. remove(): 특정 요소를 삭제/ 요소가 없으면 ERROR
 

2. discard(): 특정 요소를 삭제/ 요소가 없으면 그냥 넘어감

 

3. pop(): 임의의 요소 반환하고 삭제/ 요소가 없으면 ERROR

 
  • clear(): 모든 요소 삭제
  • len(): 세트의 요소 개수
  • max/min/sorted/sum()

  • 합집합 -  A|B / union()
  • 교집합 - A&B / intersection()
  • 차집합 - A-B / difference()
  • 대칭차집합 - A^B / symmetric_difference()

 

  • 부분집합 - A<B / issubset()
  • 상위집합 - B>A / issuperset()

'3-1 > Python' 카테고리의 다른 글

12주차-Class  (0) 2024.05.31
11주차-file read/ write  (0) 2024.05.17
9주차-Function  (0) 2024.05.12
7주차-튜플&실전문제  (0) 2024.05.12
6주차-List  (0) 2024.05.12