[점프 투 파이썬] Chapter 03 : 파이썬 프로그래밍의 기초, 자료형-2

iGhost·2021년 8월 11일
0

점프 투 파이썬

목록 보기
3/8
post-thumbnail

🤔 리스트를 쓰는 이유?

하나의 변수에 하나의 값을 넣다 보니 효율일 떨어짐

⇒ 리스트 타입 변수 하나에 여러 값을 넣음

🤭 리스트와 튜블은 똑같다?

  • 리스트 a = [1,2,3]
  • 튜플 b =(1,2,3)

리스트는 변경가능 vs 튜플은 변경 불가능

📌 튜플 자료형

여러 값을 저장할순 있지만 이후 값을 변경할수 없는 자료구조

  • 대신 인덱싱, 슬라이싱은 가능하다.
  • 더하기 곱하기도 가능
t1 = (1,2,'a','b')

# 값 변경 안된다
t1.append(1) # 에러
del t1[0] # 에러

# 값 참조는 가능
print(t1[0])
print(t1[0:2])

# 튜플끼리 연산은 가능
t2 = (1,2)
t1+t2 #새로운 튜플이 생김
t1*3

튜플은 변하지 않는다, 새로운 튜플이 만들어진다

📌 딕셔너리

키와 값으로 구성되어있는 자료구조 (연관배열,해시라고도 불림)

  • 키를 검색 ⇒ 해당 값이 나옴
  • API에 자주 활용됨
dic = {'name': 'Eric', 'age' : 15}

print(dic['name']) // Eric이 나옴

# 딕셔너리 쌍 추가하기
a = {1:'a'}
a['name'] = "익명"

print(a)

# 삭제하기
del a[0] # 0이라는 키는 없다, 에러
del a[1] # 1이라는 키를 삭제

# 주의사항, 겹치면 안됨
a = {1:'a', 1:'b'} # 키는 중복 ㄴㄴ, 값은 ㄱㅊ=> 마지막 키만 나옴

# 활용
a = {1:'a',2:'b',3:'c'}
print(a.key()) # => dict_key([1,2,3]) 라는 새로운 리스트 생김
print(a.values()) # => dict_values([1,2,3]) 라는 새로운 리스트 생김
print(a.item()) # => dict_items([(1,'a'),(2,'b'),(3,'c')]) 라는 새로운 튜플+리스트 생김

# 모두지우기
a.clear()

# 값 얻기
a.get(1) # => 없어도 에러가 나지 않고, None값으로 대체됨

# 키 찾기
4 in a # a 딕셔너리 안에 4가 있는지 찾음 => bool 값으로 나옴

키와 값으로 구성되어있다

📌 집합 자료형

중복된 요소를 가질수 없는 집합 자료구조

  • 순서가 없다
  • 중복제거 할때 사용됨
# 집합 자료형
s1 = set([1,2,3]) #리스트를 set으로 감싸서 집합으로 만듬
s1 = {1,2,3} # {}로 집합 만듬

# 중복 제거=[1,2,2,3,3]
s2 = set(l)

# 문자열을 쪼갤때
s1 = set("Hello") # 중복 없고, 순서없이 나옴

# 집합
s1 = set([1,2,3,4,5,6])
s2 = set([4,5,6,7,8,9])

# 교집합
s1 & s2 # = {4,5,6}
s1.intersection(s2) # = {4,5,6}

# 합집합
s1 | s2 # = {1,2,3,4,5,6,7,8,9}
s1.union(s2) # = {1,2,3,4,5,6,7,8,9}

# 차집합
s1 - s2 # = {1,2,3}
s1.difference(s2) # = {1,2,3}

# 추가 - 하나만
s1.add(7) # = {1,2,3,4,5,6,7}

# 추가 - 여러개
s1.update([7,8,9,1]) # 중복된건 제외되고 추가됨

# 제거
s1.remove(1) # 1이 지워짐

📌 Bool(불,Boolean)

참, 거짓을 뜻함

  • 대문자로 적어줘야함
a = True 
a = False

📌 변수

자료형의 값을 저장하는 공간

  • 변수를 만들떈 = 기호를 사용한다

  • 파이썬에서 사용하느 변수는 객체를 가르키는것이다

    a = 3(3이라는 숫자 자료형 객체를 a에 넣음)

    변수 a는 객체가 저장된 메모리의 위치를 가르키는 래퍼런스다

a = [1,2,3]
b = a # a가 가르키는 리스트의 주소를 b에 줌

a[1]=4 로 하면
b를 출력할때도 바뀌는데
b가 가르키는 리스트가 바뀐거니깐
b도 바뀌는것이다

# 값은 주소인지 아는법
a is b

# 복사를 할려면?
b = a[:]

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

# 튜플 이용하기
a,b =('A', 'B') #  a = A, b = B
(a,b) =('A', 'B') #  a = A, b = B
(a,b) ='A', 'B' #  a = A, b = B

# = 이용
a = b= 'hellow'

# 값 교체
a = 3
b = 5
a,b = b,a
profile
인터벌로 가득찬

0개의 댓글

관련 채용 정보