데이터구조 3

2893 단어 pythonSyntaxTILSyntax

데이터구조

사전형

d = {'x': 10, 'y': 20}
print(d)
 > {'x': 10, 'y': 20}
 
print(type(d))
 > <class 'dict'>
 
print(d['x'])
 > 10

print(d['y'])
 > 20

d['x'] = 100
print(d['x'])
 > 100 
 
d['x'] = 'xxxx' #문자열도 가능
print(d)
 > {'x': 'xxxx', 'y': 20}
 
d['z'] = 200 # key와 값 추가
print(d)
 > {'x': 'xxxx', 'y': 20, 'z': 200}
 
d[1] = 10000
print(d)
 > {'x': 'xxxx', 'y': 20, 'z': 200, 1: 10000} 
 

#dict 만드는 다른방법 2
a = dict(a=10, b=20)
print(a)
 > {'a': 10, 'b': 20}
 
#dict 만드는 다른방법 3
b = dict([('a', 10), ('b', 20)])
print(b)
 > {'a': 10, 'b': 20}

사전형 - 2, 매소드

d = {'x': 10, 'y': 20}
print(d)
 > {'x': 10, 'y': 20}
 
print(d.keys())   # key 값만 출력
 > dict_keys(['x', 'y'])
print(d.values()) # value 값만 출력
 > dict_values([10, 20])

d2 = {'x': 1000, 'j': 500}
print(d)
 > {'x': 10, 'y': 20}
print(d2)
 > {'x': 1000, 'j': 500}
d.update(d2) # d2를 d에 덮어쓰기(overwriting)
print(d)
 > {'x': 1000, 'y': 20, 'j': 500}


print(d['x'])  # key 값이 없으면 에러 발생
 > 1000
 print(d.get('x')) # key 값이 없으면 return 값 None
 > 1000
 
print(d['z']) 
 ! error : z 가 없다고 나옴, # KeyError: 'z'

z = d.get('z')  
print(z)
 > None
print(type(z)) 
 <class 'NoneType'>
 
d = {'x': 1000, 'y': 20, 'j': 500}
print(d)
 > {'x': 1000, 'y': 20, 'j': 500}
 
d.pop('x')  # 키로 값 꺼내기
print(d)
 > {'y': 20, 'j': 500}

print(d.pop('x')) # 값이 있음. 그러면서 빠짐
> 1000 

d = {'x': 10, 'y': 20}

print(d.pop('x'))
print(d)
> 10
{'y': 20}

# 위를 이용하면 키 값을 바꿀 수 있음 물론 순서는 바뀜
'x'를 'z' 변경
d = {'x': 10, 'y': 20}

d['z'] = d.pop('x')
print(d)
> {'y': 20, 'z': 10}


del d['y'] # 키로 값 지우기
print(d)
 > {'j': 500}

d = {'a': 100, 'b': 200}
print(d)
 > {'a': 100, 'b': 200}
 
d.clear()  # 사전형 키, 값 다 지우고 사전형, {}만 남기
print(d)
 > {}

d = {'a': 100, 'b': 200}
print(d)
 > {'a': 100, 'b': 200}
 
d3= 'a' in d # dict d 안에 'a'있는지 판별
print(d3)
 > True

사전형 - 3, 복사

# 참조전달
x = {'a': 1}
y = x
y['a'] = 1000
print(x)
 > {'a': 1000}
print(y)
 > {'a': 1000}
 
 
# 수치전달
x = {'a': 1}
y = x.copy()
y['a'] = 1000
print(x)
 > {'a': 1}
print(y)
 > {'a': 1000}

사전형 - 4, 예

키와 값이 있는 데이터에 사용한다

fruits = {
    'apple': 100,
    'banana': 200,
    'orange': 300
}

print(fruits)
 > {'apple': 100, 'banana': 200, 'orange': 300}

# 사과는 얼마 입니까?
print(fruits['apple'])
 > 100

좋은 웹페이지 즐겨찾기