python3/ dictionary와 tuple

JH·2023년 1월 25일
0

python

목록 보기
1/1

Dictionary

선언

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))
}
## 리스트와 달리 딕셔너리는 순서를 저장하지않음

list와 dictionary 비교

공통점

차이점

Tuple

한번 정해진 순서를 바꿀 수 없다.

선언

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] #에러.

변수간의 값을 바꿀때나, 여러가지 값을 한번에 전달할때 활용됨

튜플을 이용한 packing, unpacking

packing

하나의 변수에 여러개의 값을 넣는 것
a, b : 1, 2

unpacking

패킹된 변수에서 여러개의 값을 꺼내오는 것

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)입니다.

튜플 packing, unpacking의 활용

두 변수의 값을 바꿀 때 임시변수가 필요 없다.

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 in range로 하나씩 출력

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))
profile
vis ta vie🌿

0개의 댓글