본문 바로가기
카테고리 없음

[파이썬 기초] 리스트 vs 튜플 / 딕셔너리 / 집합 함수 알아보기

by 오잉쿡 2023. 8. 13.
반응형

튜플 (tuple)

튜플은 몇가지 점을 제외하곤 리스트와 거의 비슷하다. 

 

차이점 :

- 리스트는 [대괄호], 튜플은 (소괄호)으로 둘러싼다

- 리스트는 요소값에 생성, 삭제, 수정이 가능하지만, 튜플은 바꿀 수 없다

- 튜플은 변하지 않는다

 

t1 = (1,  2, 'a', 'b')
del t1[0]

#튜플의 요소를 리스트처럼 del 함수로 지우려고 하면 오류 메시지가 뜬다
t1 = (1, 2, 'a', 'b')
t1[0] = 'c' 

#리스트였다면 0번째를 c로 바꿔줬을텐데, 튜플은 변경이 불가하다 
t1 = (1, 2, 'a', 'b')
print(t1[0])
#변경은 안되지만 리스트처럼 볼 수는 있음 - 인덱싱 
1

t1 = (1, 2, 'a', 'b')
print(t1[1:])
#변경은 안되지만 리스트처럼 볼 수는 있음 - 슬라이싱

(2, 'a', 'b')
튜플 더하기 

t1 = (1, 2, 'a', 'b')
t2 = (3, 4)
t3 = t1 + t2
print(t3)

(1, 2, 'a', 'b', 3, 4)

튜플 곱하기

t2 = (3, 4)
t3 = t2 * 3
print(t3)

(3, 4, 3, 4, 3, 4)

 

리스트와 튜플 쉽게 이해&비교하기

리스트 : [대괄호]를 사용하여 한번에 묶음

ㄴ 리스트를 사용하는 이유 : 각각 관리하기 번거로우니까 하나에 몰아서 사용함 

 

리스트와 튜플의 차이점?
리스트는 [대괄호], 튜플은 (소괄호)으로 둘러싸서 리스팅할 수 있음

ㄴ 리스트는 새로운 값을 추가할 수 있었는데, 튜플른 추가&삭제&변경 못한다 - 튜플은 변하지 않는다(고정값)
ㄴ 튜플은 요소값 추가&삭제&변경 시 오류


(공통점) 인덱싱, 슬라이싱을 통해 리스트,튜플 둘다 값을 볼 수는 있음

 


딕셔너리 (dictionary)

- Hash / Map / Object / JSON : 딕셔너리 자료형

- Key를 통해 Value를 얻는다

- Key를 이용해 값을 빠르게 찾을 수 있다 

- API에 자주 활용된다 

 

a = {1: 'a'}
a[name] = '익명'
print(a)

{2: 'b', 
a = {1: '파랑구름', 2: '이현준', 3: '민min준JUN'}
print(a.keys())

dict_keys([1, 2, 3])

a = {1: '파랑구름', 2: '이현준', 3: '민min준JUN'}
print(a.values())

dict_values(['파랑구름', '이현준', '민min준JUN'])
a = {1: '파랑구름', 2: '이현준', 3: '민min준JUN'}
print(a.keys())
print(a.values())
print(a.items()) #튜플 형태로 각각 쌍을 담을 수 있음.

dict_keys([1, 2, 3])
dict_values(['파랑구름', '이현준', '민min준JUN'])
dict_items([(1, '파랑구름'), (2, '이현준'), (3, '민min준JUN')])
a = {1: '파랑구름', 2: '이현준', 3: '민min준JUN'}
a.clear()
print(a)


{ }
a = {1: '파랑구름', 2: '이현준', 3: '민min준JUN'}
print(a[4])
#4번째가 없으니까 에러가 남

keyerror
a = {1: '파랑구름', 2: '이현준', 3: '민min준JUN'}
print(a.get[4])
#없어도 에러가 안나고 none 이라고 뜸

none

집합 (set)

- 집합과 관련된 것을 쉽게 처리하기 위해 만든 자료형

- 집합은 원소가 고유하여 중복을 허용하지 않는다 

- 순서가 없다 (Unordered)

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

{1, 2, 3}

s1 = {1, 2, 3}
print(s1)

{1, 2, 3}

s1 = set("Hello")
print(s1)
#중복값은 한번만, 순서가 자기 멋대로임 

{'l', 'e', 'H', 'o'}

교집합 & intersection

s1 = set([1,2,3,4,5,6])
s2 = set([4,5,6,7,8,9])
print(s1 & s2)
#교집합 표시 : &

{4, 5, 6}

s1 = set([1,2,3,4,5,6])
s2 = set([4,5,6,7,8,9])
print(s1.intersection(s2))
#교집합 함수 : intersection

{4, 5, 6}
합집합 | union

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

{1, 2, 3, 4, 5, 6, 7, 8, 9}
s1 = set([1,2,3,4,5,6])
s2 = set([4,5,6,7,8,9])
print(s1.union(s2))

{1, 2, 3, 4, 5, 6, 7, 8, 9}
차집합 - difference

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

{1, 2, 3}

s1 = set([1,2,3,4,5,6])
s2 = set([4,5,6,7,8,9])
print(s1.difference(s2))

{1, 2, 3}
집합 원소 추가하기 (1개) - add

s1 = set([1,2,3,4,5,6])
s1.add(7)
print(s1)


{1, 2, 3, 4, 5, 6, 7}

집합 원소 추가하기 (여러개) - update


s1 = set([1,2,3,4,5,6])
s1.update([7,8,9])
print(s1)

{1, 2, 3, 4, 5, 6, 7, 8, 9}

특정 값 제거하기 - remove

s1 = set([1,2,3,4,5,6])
s1.remove(3)
print(s1)

{1, 2, 4, 5, 6}

 

이전 학습 다시보기(복습) - 자료형(숫자,문자열,불) 파이썬 함수

 

[파이썬 기초] 파이썬 실행하기 단축키 / 파이썬 자료형 총정리 (자료형, 숫자형, 문자열, 불 참거

파이썬 공부 1일차 파이썬 실행하기 단축키? 파이썬은 윗 부분에서 코드를 짜고 오른쪽 "▷"를 클릭하여 실행시켜준다 그럼 아래 터미널 부분에서 결과값을 확인 가능하다. 근데 매번 마우스로 "

oingcook.com

 

반응형

댓글