본문 바로가기

프로그래밍 - 기본/Python

[점프 투 파이썬] 2장 - 집합 자료형 + 불 자료형 + 변수

2장의 마지막 부분인 집합과 불 자료형, 변수에 대해 알아보도록 하겠다!

 

🔎 집합

특징

중복X
순서X -> 인덱싱 불가능

선언

s1=set([1,2,3])

한 개의 집합 정리

s1=set([1,2,3])

1. 값 추가
//1개
s1.add(4)

//여러 개
s1.update([4,5,6])

2. 값 삭제
s1.remove(1)

두 개의 집합 정리

1. 교집합

s1 & s2
s1.intersection(s2) //s1과 s2 순서 상관 X

2. 합집합

s1 | s2
s1.union(s2) //s1과 s2 순서 상관 X

3. 차집합

s1 - s2
s1.dirrerence(s2) //s1과 s2 순서 상관 O

//만일 아래의 집합들이 있다면?
s1=set([1,2,3,4,5,6])
s2=set([4,5,6,7,8,9])

s1 - s2 👉🏻 {1,2,3}
s2 - s1 👉🏻 {7,8,9}

 

🔎 불(bool)

특징

참/거짓 구분
🚨 True/False (첫 글자는 대문자 필수)

판단 내리는 방법

비어있다면? False
비어있지 않다면? True

 

🔎 변수

변수 선언

1. 튜플로 대입

a,b=('python', 'life')

2. 값 바꾸기

a=5
b=10
a,b=b,a

#바뀐 값 확인
a 👉🏻10
b 👉🏻5

📢 C++에선 temp를 선언하여 바꾸어 주었지만, 파이썬에선 temp가 필요없다는 사실!

복사

리스트를 복사하면 원본과 복사본의 주소가 같다
a=[1,2,3]
b=a

이때, id(a)==id(b) 이며 a is b > True 이다!

a[0]=4
a=[4,2,3]
b=[4,2,3]
'복사 O 주소 같음 X'을 위해선?

1. [:] 이용

a=[1,2,3]
b=a[:]

2. copy 모듈 이용

from copy import copy
a=[1,2,3]
b=copy(a)


a=[1,2,3]
b=a.copy()

변수를 대입하였을 때, 할당된 메모리 주소가 조금 복잡한 개념이 적용되어 있다

깊게 들어간다면, 깊은 복사와 얕은 복사를 비교하고 적용할 수 있어야 한다는 말이다!

그 내용은 '점프 투 파이썬'을 벗어나는 부분이기에 새로운 글로 포스팅 할 예정이다 😊

 

2장 내용 공부 끝! 👋👋