Python/기초

4. 파이썬의 자료형(딕셔너리, 집합)

frcn 2019. 9. 19. 19:33
반응형

1. 딕셔너리

key, value값을 가지는 자료형

순서가 없음(인덱싱이 불가능함)
리스트나 튜플과는 다르게 key값을 통해서 value값을 구함

d1={'sports':'baseball','name':'홍길동','age':'35','family':[홍버지, 홍머니]}

		#value에는 리스트를 넣을 수도 있다. 이때 ' '는 사용하지않는다. (숫자형도 마찬가지)


d1['sports'] #key값을 갖는 value를 가져옴. 결과 : baseball


1) 딕셔너리 추가, 삭제

a={1:'a'}

#삽입
a[2]='b' 		#a={2:'b',1:'a'}

#삭제
del a[1] 		#a={2:'b'}  이때 1은 key값을 말함.

 


2) 관련함수

 

  • key리스트 만들기 keys
d1={'sports':'baseball','name':'홍길동','age':35,'family':[홍버지, 홍머니]}
d1.keys() 
		#dict_keys=['sports','name','age','family'] 리스트형으로 dict_keys 객체를 리턴

for k in a.keys()
print(k)

#결과 = sports name age family

 

  • value리스트 만들기 values
d1={'sports':'baseball','name':'홍길동','age':35,'family':[홍버지, 홍머니]}
d1.values() 
		
#dict_values=['baseball','홍길동', 35, [홍버지, 홍머니]] 리스트형으로 dict_values 객체리턴


  • key, value 쌍 얻기 items
d1={'sports':'baseball','name':'홍길동','age':'35','family':[홍버지, 홍머니]}
d1.items() 

#dict_items=[('sports':'baseball'),('name':'홍길동'),('age':35),('family':[홍버지, 홍머니])]
#튜플로 묶인 객체를 리턴


  • 모두 지우기 clear
d1={'sports':'baseball','name':'홍길동','age':'35','family':[홍버지, 홍머니]}
d1.clear() 

#d1={}


  • key value찾기 get
d1={'sports':'baseball','name':'홍길동','age':'35','family':[홍버지, 홍머니]}
d1.get('sports') 

#결과 = 'baseball'
#d1['sports']와 동일함. 단 get으로 없는 키값을 넣으면 none이 리턴


  • key값이 존재하는지 조사 in
d1={'sports':'baseball','name':'홍길동','age':'35','family':[홍버지, 홍머니]}

'sports' in d1		#True

'abc' in d1		#False

 

 

 


2. 집합 자료형

 

집합 자료형에는 중복을 허용하지 않으며, 순서가 없다. (인덱싱을 사용할 수 없다)
집합에 관한 것을 쉽게 처리하기 위해서 만들어짐

 

s1=set("hello")		#s1={'e','o','l','h'}
s2=set([1,2,3])		#s2={1,2,3}		


1) 교집합, 합집합, 차집합

s1=set([1,2,3,4])
s2=set([2,3,4,5,6])


#교집합
s1&s2
s1.intersection(s2)
# 결과 = {2,3,4}


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


#차집합
s1 - s2
s1.difference(s2)
# 결과 = {1}

 


2. 관련함수

 

  • 리스트로 변환 list
s1=set([1,2,3])
l=list(s1)

#[1,2,3]


  • 튜플로 변환 tuple
s1=set([1,2,3])
t=tuple(s1)

#(1,2,3)


  • 1개 추가하기 add
s1=set([1,2,3])
s1.add(4)

#{1,2,3,4}


  • 값 여러개 추가하기 update
s1=set([1,2,3])
s1.update([3,4,5])

#{1,2,3,4,5}


  • 값 제거하기 remove
s1=set([1,2,3])
s1.remove(2)

#{1,3}

 



3. 자료형의 참,거짓

 

자료형에 값이 없으면 기본적으로 False
값이 있으면 True

 

반응형