NOW OR NEVER

[Python] 6. Python 데이터 타입(자료형) Dictionary와 Set 본문

Back-End/Python

[Python] 6. Python 데이터 타입(자료형) Dictionary와 Set

LAURA 2021. 8. 22. 21:56
반응형

파이썬 자료구조(dictionary, set)

 

1. dictionary 특징

- 순서 없음(순서와 상관없이 출력 이루어짐), 중복 안됨, 수정 가능, 삭제 가능

- key(가져오고자 하는 정보, 중복 안됨), value(값, 중복 가능) 형태(json을 의미하는 건 아니지만 비슷 ex)MogoDB) : key를 가지고 value 조회

- key : 숫자로 하는 경우 별로 없음 , 찾고자 하는 의미있는 단어로 구성함

- 리스트, 튜플, 복소수 등 모든 데이터 타입 삽입 가능 그래서 매우 유용한 데이터 자료 구조

- item: key, value의 한쌍

- 크롤링 할 때 활용

 

- 출력 print

  • 데이터 출력시 안전하게 조회하기 위해 print(딕셔너리.get(‘key이름’)) 사용하는 것이 좋음
  • 키를 가진 값을 가져와서 그것이 리스트일 때 슬라이싱도 가능
  • print(2 in b) :2가 b라는 딕셔너리에 있는지 확인
  • print(‘name2’ not in a): a라는 딕셔너리 안에 name2라는 key가 없는지 확인

2. dictionary 추가

- key와 value를 추가하는 것

- 딕셔너리이름[‘추가할 key’]=추가할 값

- key 리스트 출력 : print(딕셔너리이름.keys())

- value 리스트 출력: print(딕셔너리 이름.values())

 

3. 집합(set) 특징

- 수치계산, 과학 연산, 데이터 분석 등에 많이 활용

- 주로 내부적으로 머신러닝 등의 오픈소스, 케라스에 많이 쓰임

- 순서가 없고 중복 허용하지 않는다. 그래서 데이터 반복되어도 한 개만 출력

- 주로 형변환을 해서 사용한다.

- 변수=set([데이터,데이터…])으로 선언

- 수학시간 집합을 생각하면 됨

 

- 출력

  • print(s1.intersection(s2)) 이나 print{s1 & s2} : s1과 s2의 교집합 출력
  • print(s1|s2) 이나 print(s1.union(s2)) : s1과 s2의 합집합 출력
  • print(s1-s2) 이나 print(s1.difference(s2)) : s1과 s2의 차집합 출력

- 추가 및 제거 가능

  • 집합.add(데이터) : 집합에 데이터 추가
  • 집합.remove(데이터): 집합에서 해당 데이터 삭제

4. 집합 자료형 함수

- 변수=list(집합)) -> list로 변환

- 변수=list(집합)) -> tuple로 변환

 

5.자료형 변환

- key를 특정 인덱스 번호만 출력하고 싶을 땐 리스트로 형변환을 해야 하고 그 형변환한 리스트를 다른 변수에 지정 후 인덱싱 가능


정규표현식

- 컴퓨터 언어를 넘나들며 쉽게 작업할 수 있다.

- 0부터 9 숫자 제외하고 나머지 삭제하고 출력

a="010-7777-9999" import re print(re.sub('[^0-9]','',a))#01077779999


대문자, 소문자 함수

- 대문자: upper()

- 소문자 : lower()

Comments