본문 바로가기
Algorithm/자료구조, 알고리즘

[코딩 + 알고리즘 완주반] 4일차. 딕셔너리, 집합, 데이터타입 퀴즈

by newnu 2021. 3. 18.
반응형

# 딕셔너리

#딕셔너리(Dictionary) : 순서 X ,중복 X, 수정 O, 삭제 O
# Key, Value (Json)---> MongoDB

# 선언
a={'name': 'Kim','Phone': '010-7777-7777','birth':870214}
# 키는 중복 안됨, 값은 중복 가능
b = {0:'Hello Python',1:'Hello Coding'}
c = {'arr':[1,2,3,4,5]} # 모든 자료형을 값으로 넣을 수 있음

print(type(a))
# 키로 값 가져오기
print(a['name'])
print(a.get('name'))
print(a.get('address')) #get을 쓰면 없는 키도 오류가 나지 않음
print(c['arr'][1:3])

a['address']='Seoul'
print(a) 
a['rank']=[1,3,4]
a['rank2'] = (1,2,3,)
print(a)

#keys,values,items
#print(a.keys()[0]) #리스트로 형변환 해야 사용가능
print(list(a.keys())) # ['name', 'Phone', 'birth', 'address', 'rank', 'rank2']
print(list(a.keys())[1:3]) # ['Phone', 'birth']

temp = list(a.keys())
print(temp[1:3]) # ['Phone', 'birth']

print(a.values()) #dict_values(['Kim', '010-7777-7777', 870214, 'Seoul', [1, 3, 4], (1, 2, 3)])
print(list(a.values())) # ['Kim', '010-7777-7777', 870214, 'Seoul', [1, 3, 4], (1, 2, 3)]
print(list(a.items())) # [('name', 'Kim'), ('Phone', '010-7777-7777'), ('birth', 870214), ('address', 'Seoul'), ('rank', [1, 3, 4]), ('rank2', (1, 2, 3))]
print(2 in b) # False
print('name2' not in a) # True

# 집합

# 집합(Set) (순서 X, 중복 X)
a = set()
b = set([1,2,3,4])
c = set([1,4,5,6,6])

print(type(a))
print(c)

# 형변환
t = tuple(b)
print(t) # (1,2,3,4)
l = list(b) 
print(l) # [1,2,3,4]

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

# 교집합 (and)
print(s1.intersection(s2))
print(s1 & s2)

# 합집합 (or)
print(s1 | s2)
print(s1.union(s2))

# 차집합 
print(s1-s2)
print(s1.difference(s2))

s3 = set([7,8,10,15])

s3.add(18)
#s3.add(7) #이미 있는 원소는 더해도 똑같음

print(s3)

s3.remove(15) # 값 삭제
print(s3)

print(type(s3))

 

# 데이터타입 Quiz 

# 5. 다음 문자열 "Niceman" 에서 "man" 문자열만 추출해보세요.
a='Niceman'
print(a[-3:])

a_idx = a.index("man")
print(a[a_idx:])

# 6. 다음 문자열을 거꾸로 출력해보세요. : "Strawberry"
b = "Strawberry"
print(b[::-1])
print(list(reversed(b)))

# 7. 다음 문자열에서 '-'를 제거 후 출력하세요. : "010-7777-9999"
s = "010-7777-9999"
print(s.replace("-",""))

print(s[0:3]+s[4:8]+s[9:13])

# 정규표현식
import re
print(re.sub('[^0-9]','',s))

# 8. 다음 문자열(URL)에서 "http://" 부분을 제거 후 출력하세요. : "http://daum.net"
s1 = "http://daum.net"
print(s1.replace("http://",""))
print(s1[7:])
반응형