기초 물방울/Python

파이썬 튜플~딕셔너리~변수 #2

Weeding 2022. 5. 9. 00:36
반응형
SMALL

튜플

  • tuple은 몇가지 점을 제외하곤 리스트와 거의 비슷함.
  • 리스트는 [대괄호] / 튜플은 (소괄호)
  • 리스트는 append로 계속 추가할 수 있음 (변경가능)
    튜플은 변경이 불가능! (길이/값 다 고정됨)

 

'tuple' object does not support item assignment. / 리스트의 경우에는 0번째가 c로 바뀜

 

 

 

위 예제에서 t1을 바꾸는건 안되지만 변화시키는것은 가능함.

 

인덱싱

 

 

 

슬라이싱

 

 

 

더하기

 

 

곱하기

 

 

 

  • 튜플은 변하지 않는다
  • 프로그램이 실행되는 동안 그 값이 항상 변하지 않기를 바란다면 튜플 사용!
  • 반대라면 리스트 사용!

 

 


 

딕셔너리

  • "사전" = dictionary
  • 연관배열(associative array) or 해시(Hash) 라고 부름.
  • Key를 통해 Value를 얻는다
    ex) dic = {'name' : 'pey', 'phone' : '0119993323', 'birth' : '1118'}
  • Map(Java) / Object(JavaScript) / JSON(JavaScropt Object Notation)
  • API에서 자주 활용됨

 

dictionary의 기본 예시

 

 

쌍 추가하기

Key와 Value로 이루어져있다!

 

 

 

요소 삭제하기

0이라는 키가 없음! (순서가 없고 Key와 Value만 존재함!)

 

순서가 아니라 Key를 넣는게 핵심!

 

 

 

dictionary 주의사항

  • key가 중복되면 안됨!
  • Key에 리스트는 사용 불가!

키가 중복되면 안됨! 위와 같이 맨 마지막꺼만 출력됨

 

Key는 다르고 밸류가 같은 경우에는 제대로 출력이 됨! 즉, dictionary는 Key가 핵심!

 

 

 

 

Key 리스트 만들기(Keys)

 

 

Value 리스트 만들기(Values)

 

 

Key, Value 쌍 얻기(items)

→ 추후 공부할 for문에 많이 쓰임!

 

 

 

 

clear

딕셔너리를 비울 수 있음.

 

 

 

 

Key를 대괄호에 넣는것 말고 get을 활용하여 Key를 뽑아내는 방법

(없는 것을 뽑아낼 때 차이가 발생!)

두가지의 차이 기억! 대괄호/Get

 

a.get(4,'없음') = '없음'이라는 것을 리턴해서 기본값이 들어가게됨!

 

 

 

 

해당 Key가 딕셔너리 안에 있는지 조사하기(in)

딕셔너리의 핵심은 Key를 이용해서 빠르게 찾을 수 있다!

 

 

 

 


 

집합

  • 집합의 특징을 파이썬의 자료구조로 만든 것
  • 중복된 요소를 가질 수 없다 (원소가 각각 고유함) / 리스트는 중복된 값 가능
  • 순서가 없다 (Unordered)
    ex) a의 0번째 이런것들이 없음.
  • 아래는 집합 자료형의 예시

집합은 set이나 중괄호 둘 다 사용 가능!

 

Unordered의 특징! 출력을 하게 되면 순서가 뒤죽박죽으로 나오는 경우도 있고, 중복이 제거됨!

 

 

 

교집합(intersection)

&과 같은 and표시나 intersection(교집합)을 사용하기!

 

 

 

합집합(union)

 

 

 

차집합(difference)

- or difference(차집합)
반대예시

 

 

 

 

값 1개 추가하기(add / update)

  • 리스트에 값 추가하듯이 튜플은 변할 수 없지만 집합은 추가하기 기능 사용 가능!

 

집합은 중복된게 없기 때문에 s2의 경우에는 1이 제외되고 추가되서 출력!

 

 

 

특정 값 제거하기(remove)

 

 

 


 

불(bool) 자료형

  • 참(True)과 거짓(False)을 나타내는 자료형.
  • 숫자, 문자열과 비슷한 형태
  • if 나 while문 등에서 많이 활용됨.

class 'bool' / bool = boolean

 

 

 

자료형의 참과 거짓

참 or 거짓
"python"
"" 거짓
[1,2,3]
[] 거짓
() 거짓
{} 거짓
1
0 거짓
None 거짓

 

 

'안녕'은 True & False가 아닌 문자열이라 오류가 날 것 같지만, True로 판단됨

 

 

문제예시

pop : 리스트 요소 끄집어내기

 

True가 들어가면 무한정으로 쭉 나오게됨....

 

 

 

 

변수

  • 파이썬의 변수는 객체를 가리키는 것!
  • 지금까지 공부해 온 자료형과 같은 의미 
    ex) a = [1.2.3]
  • "메모리" = 실제로 값을 저장하는 곳
    메모리에 있는 주소에 변수값을 불러옴

 

 

 

아래 사이트에서 값이 어떻게 실제적으로 돌아가는지 시각적으로 확인 가능!

https://pythontutor.com/live.html#mode=edit

 

https://pythontutor.com/live.html#mode=edit

 

 

a,b 둘 다 바뀐 = '주소를 가지고 있는다' 라는 개념을 인지해야함! / a가 복사된게 아님!

 

 

위와 같은 내용

 

 

 

 

위에서 a와 b를 다르게 하려면 id(주소값)을 찍어볼 수 있음.

     또한, is를 통해 주소값이 같은지 확인 가능!

 

 

 

a = [1,2,3]을 그대로 b한테 주고 싶고 b는 변하지 않게 하고 싶다면?

 

copy를 활용한 방법(추후 배움) 위 방법과 동일함~!

 

 

 

 

변수를 만드는 여러가지 방법

각각 튜플을 이용해서 할당 가능!
소괄호가 있으나 없으나 위와 동일함~!

 

리스트를 활용해도 똑같이 나옴~!

 


 

a, b에 둘 다 할당하는 방법

 

 

일반적으로 다른 언어들에서 a,b를 바꾸는 방법 // tmp : 임시 저장 공간

 

파이썬에서는 위 예시의 복잡한과정을 직관적으로 쉽게 바꿀 수 있다!!!!!!

 

 

 

 


 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

반응형
LIST