본문 바로가기
python

Dictionaries(딕셔너리) 와 booleans, Tuples(튜플) 와 set

by leo104 2022. 11. 16.
728x90

딕셔너리

딕셔너리는 key 와 value의 쌍으로 되어 있다.

리스트와 다른점은 리스트는 인덱스의 오프셋으로 접근하지만, 딕셔너리는 key로 접근한다.

- 비어있는 딕셔너리를 만들때는 중괄호로 만든다 ex)   { }

- key는, 딕셔너리 안에 유일한 값으로 되어 있다. 따라서 key가 같은 값을 가질 수 없다. 그러나 value는 같은 값이 여러개 있어도 상관없다.

- key와 value 를 묶어서 item이라고 한다.

- 딕셔너리의 데이터 억세스는. 변수명 오른쪽에 대괄호로 한다.

- 단, 대괄호 안에, 숫자를 쓰는것이 아니라 key를 쓴다.

딕셔너리의 예시

위의 예시에서 brand는 key , Apple은 value이다. 마찬가지로 다른 데이터들도 콜론을 사이에 두고 key와 value로 나뉜다.

my_phone의 brand에 대한 value 값을 보고 싶다면

ex ) my_phone[ 'brand' ]를 입력하면 value 값인 ' Apple '이 출력된다.

 

변수 안에 또 다른 딕셔너리 데이터를 추가하고 싶다면 ( 변수[ key ]  =  value 형태로 추가하면 된다.

ex) my_phone[ 'color' ] = ' red '

 

변수 안에 딕셔너리의 데이터를 삭제하고 싶다면 기본 함수인 del 이용해 삭제한다.

ex) del my_phone[ 'color' ]

 

딕셔너리의 key 값들만 가져오고 싶다면     변수,keys( )   의 형식을 통해 가져온다.

ex) my_phone.keys( )

 

딕셔너리 안에 내가 찾는 key가 있는지 확인하고 싶을 때는 ' key ' in 변수  의 형식으로 확인한다.

ex) 'brand' in my_phone

있다면 True로 출력되고, 없다면 False로 출력된다. 

 

딕셔너리 안에 데이터의 개수가 알고 싶다면 len 함수를 이용해서 알아볼 수 있다.

ex) len(my_phone)

 

예제 ) my_salary = {"alex": 25, "sally": 28, "dina": 30} 에서 모든 밸류의 값을 다 더하세요.밸류의 값을 모두 더하고 싶을 때는 sum함수를 이용해서 계산할 수 있다.

sum함수의 예시

 

튜플

- 데이터 억세스 방식이 리스트와 완전 동일하고 데이터 수정, 추가, 삭제는 안된다.

- 보안이 중요한 데이터의 경우 사용한다.

- 빈 튜플을 만드는법 ( ) or tuple( )

- 튜플형식에 데이터를 넣을 때 데이터가 1개인 경우( 100 ) 이런 식으로 넣게 되면 튜플 형식이 깨지게 된다.

  반드시 데이터가 1개인 경우에는 (100, ) 처럼 콤마를 붙여줘 공백을 주어야 한다.

튜플 데이터를 수정하려고 했을 시 나오는 에러 메시지(수정 , 삭제 , 추가 불가)

SETS

- SET에 들어있는 데이터에는 순서가 없다.

- SET에는 동일한 값이 저장되지 않는다.(유니크한 데이터만 저장된다.)

- 비어있는 SET을 만드는 방법은 딱 한가지가 있다. ---set( )

- 데이터가 있는 SET을 만드는 방법은 중괄호를 이용하는데 딕셔너리와의 차이점은 쉼표로 데이터를 나열해야 한다는 것     이다.

데이터가 있는 SET의 예시           (중복된 데이터는 저장되지 않음)

 - SET에 데이터를 추가하는 방법      변수.add(데이터)    의 형식으로 추가한다.

 

데이터 추가의 예시

 

 - SET의 데이터를 제거하는 방법    변수.discard(데이터) 의 형식으로 제거한다.

데이터 제거의 예시

 

실제 적용 예시) 기업에서 하는 SNS 이벤트의 경우 SETS 을 사용하면 중복참여자를 걸러내거나, 순고객수를 파악하기 쉽다.

또한 A라는 이벤트와 B라는 이벤트 두개의 이벤트를 열고 있다면 A에 참가한 고객 B에 참여한 고객들을 중복없이 파악할 수 있다. 

 

ex)

예시) A와B에 참가한 중복없는 고객 리스트

 

 A와 B에 모두 참여한 고객들을 알 수 있다.

예시) A와 B에 모두 참여한 고객 리스트

 

A와 B에 모두 당첨되어 둘중 하나 이벤트에서 탈락되는 경우

예시)A에 당첨된 고객들 중 B에 당첨된 고객을 제외한 고객리스트

728x90