본문 바로가기
Python/점프 투 파이썬

집합 자료형, 불 자료형, 변수

by k-mozzi 2021. 8. 12.
반응형
Preface

 

파이썬 공부를 시작한지 얼마 되지 않았지만, 많은 사람들이 파이썬을 입문 언어로 추천하는 이유를 알 것 같다.

 

처음 언어 공부를 시작할 때 걱정했던 것과 달리 문법을 쉽게 이해할 수 있고, 한 줄 한 줄 실행시키며 코드를 적다보니 오류 수정도 간편하다.

 

무엇보다 몇 줄 안되는 코드지만 내가 직접 짠 코드가 실행되는 것을 보면 성취감도 느낄 수 있다.

 

현재 '점프 투 파이썬'의 자료형 부분까지 공부를 마친 상태인데, 내일은 지금까지의 내용을 복습하며 연습문제를 풀어보려 한다.

 

또, 제어문 공부를 시작하기 전 간단한 계산기를 만들어 볼 계획이다.


1. 집합 자료형

 

s1 = set('Hello')
s2 = set([1,2,3])
print('s1:', s1,'\n')
# 중복을 허용하지 않는다.
# 순서가 없다.

l1 = list(s2)
print('l1:', l1)
print('l1[1]:',l1[1],'\n')
# 인덱싱을 하기 위해선 집합을 리스트나 튜플 형태로 바꿔야 한다.

s3 = set([1,2,3,4,5,6])
s4 = set([4,5,6,7,8,9])
print('s3 & s4:', s3 & s4) # 교집합
print('s3.intersection(s4):',s3.intersection(s4),'\n')

print('s3|s4:', s3|s4) # 합집합
print('s3.union(s4):', s3.union(s4),'\n') 

print('s3-s4:', s3-s4) #차집합
print('s3.difference(s4):', s3.difference(s4),'\n')

s3.add(7) # 요소 추가 (한 번에 2개 이상 추가는 불가)
print('s3:', s3,'\n')

s3.update([8,9]) # 2개 이상의 요소 추가
print('s3:', s3,'\n')

s3.remove(1) # 특정 값 제거 (한 번에 2개 이상 제거 불가)
print('s3:', s3)

 


 

2. 불 자료형

 

# 문자열, 리스트, 튜플, 딕셔너리의 값이 비어있으면(" ", [ ], ( ), { }) 거짓이다.
# 숫자의 경우 값이 0이면 거짓이다.
a = [1,2,3,4]
while a: # a가 거짓이 될 때까지 마지막 요소 출력
    print(a.pop())

if []: # []가 비어있으므로 '거짓' 출력
    print('참')
else:
    print('거짓','\n')

print(bool([1,2,3]))
print(bool(''))
print(bool(0))

 


 

3. 변수

 

a = [1,2,3]
b = a
print(a is b)
a[1] = 4
print(b,'\n')
# a와 b는 동일하며, a의 값이 변화되면 b의 값도 바뀐다.
# 즉 a와 b의 메모리 상 주소는 같다.

c = [1,2,3]
d = c[:] # c의 리스트를 복사
c[1] = 4
print(c)
print(d,'\n') # c의 리스트 값을 변경해도 d에 영향을 끼치지 않는다.

from copy import copy
e = [1,2,3]
f = copy(e) # 'f = e(:)'와 같은 의미
print(e)
print(f)
print(e is f) # c와 d가 같은 값을 갖지만, 가라키는 객체가 서로 다르다.
728x90
반응형

'Python > 점프 투 파이썬' 카테고리의 다른 글

if문  (0) 2021.08.16
자료형 연습문제  (0) 2021.08.13
튜플 자료형, 딕셔너리 자료형, 딕셔너리 함수  (1) 2021.08.11
리스트 자료형, 리스트 함수  (0) 2021.08.10
문자열 자료형, 문자열 함수  (0) 2021.08.10

댓글