dict_basic.py
wintable = {
‘가위’:‘보’,
‘바위’:‘가위,
‘보’:‘바위’
}
## 아래와 같이 key 값을 index처럼 접근
print(wintable[’가위‘]) # 보 출력됨
def rsp(mine, yours) :
if mine == yours :
return ‘draw’
eif wintable[mine] == yours:
return ‘win’
else :
return ‘lost’
result = rsp(‘가위’, ‘바위’)
print(result)
messages = {
‘Win’:‘이겼다!‘,
’draw‘:’비겼네‘,
’lose‘:‘졌어..’
}
print(messages[result])
↓ 이름표는 문자열 또는 숫자를 주로 사용하지만
dict = { "이름표" : [1,2,3] }
↑ 값은 리스트를 포함해서 무엇이든 올 수 있습니다.
print( dict["이름표"] )
추가
dict['three'] = 3
##cf. 리스트는 list.append(추가할원소)
수정
dict['one'] = 11
삭제
del(dict['one'])
dict.pop('two') ##지우는 값을 return 해줌
ages = {‘Tod’:35, ‘Jane’:23, ‘Paul’:62}
for key in ages.keys(){
print(key)
}
for value in ages.values(){
print(value)
}
for key in ages.keys(){ ## ages.keys 대신 ages만 써도 무방
print(‘{}의 나이는 {}입니다.‘.format(key, ages[key])
}
for key, value in ages.items(){ ## items함수로 key, value둘다 리턴
print(‘{}의 나이는 {}입니다.‘.format(key, value))
}
## 리스트와 달리 딕셔너리는 순서를 저장하지않음
공통점
차이점
한번 정해진 순서를 바꿀 수 없다.
tuple1 = (1, 2, 3, 4)
tuple2 = 1, 2, 3, 4 ##괄호 없이도 튜플생성 가능
mylist = [1,2,3,4]
tuple3 = tuple(mylist) ##리스트를 튜플로 만들기 가능
tuple3[1] #2 리턴. 인덱스로 접근 가능
tuple3[0] = 5 #에러.
del tuple3[0] #에러.
tuple3.pop[0] #에러.
변수간의 값을 바꿀때나, 여러가지 값을 한번에 전달할때 활용됨
하나의 변수에 여러개의 값을 넣는 것 a, b : 1, 2
패킹된 변수에서 여러개의 값을 꺼내오는 것
c = (3, 4)
d, e = c # c의 값을 언패킹하여 d, e에 값을 넣었다
f = d, e # 변수 d와 e를 f에 패킹
예제
x = 3
y = 5
position = x,y
print("x, y로 이루어진 튜플 position의 값은 {}입니다.”.format(position))
# x, y로 이루어진 튜플 position의 값은 (3, 5)입니다.
두 변수의 값을 바꿀 때 임시변수가 필요 없다.
x = 5
y = 10
## 보통 변수 바꿀때 임시변수 temp 활용
x = y
y = temp
y = temp
## 튜플을 이용한 변수 바꾸기
x,y = y,x
함수의 리턴 값으로 여러 값을 전달할 수 있다.
def tuple_func():
return 1,2 //함수의 리턴값으로 튜플 이용
q,w = tuple_func()
list = [1,2,3,4,5]
for i, v in enumerate(list): ## enumerate는 튜플로 값을 리턴
print(‘[]번째 값: []‘.format(i,v))
for a in enumerate(list):
print('{}번째 값: {}'.format(a[0], a[1]))
for a in enumerate(list):
print('{}번째 값: {}'.format(*a)) ## 튜플을 쪼개라
for i in range( len(tuple1) ) :
print(tuple1[i])
dict = {‘Tod’:35, ‘Jane’:23, ‘Paul’:62}
for key, val in dict.items():
print('{}의 나이는:{}'.format(key, val))
for a in dict.items():
print('{}의 나이는:{}'.format(a[0], a[1]))
for a in dict.items():
print('{}의 나이는:{}'.format(*a))