- list와 같이 여러개의 값을 한꺼번에 모아서 관리할 수 있음
차이점은 dictionary는 관련된 정보를 서로 연관시켜놓음
- list는 내부 값을 컨트롤 하기 위해 indexing을 사용함.
0번 위치의 값을 가져온다든지... -1위치의 값을 가져온다든지..
- dictionary는 key를 이용해서 값을 가져옴.
딕셔너리 키는 문자열, 정수, 실수, 불도 사용하며, 자료형을 섞어서도 사용 가능 (리스트, 딕셔너리는 사용 X)
값은 리스트, 딕셔너리 등을 포함하여 모든 자료형 사용 가능
>>> dic[0] = 'a' // 딕셔너리 키에 값 할당
>>>
>>> dic
{0: 'a'}
>>>
>>> dic['b'] = 2
>>>
>>> dic
{0: 'a', 'b': 2}
>>>
>>> print(dic['b'])
2
>>> dic = {'kr':100, 'it':50, 'fr':30, 'uk':80, 'kr':70}
>>> dic['kr'] // 딕셔너리 키 접근할 땐 딕셔너리 뒤에 대괄호 사용
70 // 키값이 중복되면 마지막 val 값이 출력됨
딕셔너리 = dict(키1=값1, 키2=값2) // 키에 작은 따옴표나 큰 따옴표 사용 X
딕셔너리 = dict(zip([키1, 키2], [값1, 값2])) 또는 dict(zip(키1, 키2), (값1, 값2)))
딕셔너리 = dict([(키1, 값1), (키2, 값2)])
딕셔너리 = dict({키1: 값1, 키2: 값2})
>>> lux1 = dict(health=490, mana=334, melee=550, armor=18.72) // 키=값 형식
>>> lux1
{'health': 490, 'mana': 334, 'melee': 550, 'armor': 18.72}
>>> lux2 = dict(zip(['health', 'mana', 'melee', 'armor'], [490, 334, 550, 18.72])) //zip 형식
>>> lux2
{'health': 490, 'mana': 334, 'melee': 550, 'armor': 18.72}
>>> lux3 = dict([('health', 490), ('mana', 334), ('melee', 550), ('armor', 18.72)])
>>> lux3 //(키, 값) 형식의 튜플
{'health': 490, 'mana': 334, 'melee': 550, 'armor': 18.72}
>>> lux4 = dict({'health': 490, 'mana': 334, 'melee': 550, 'armor': 18.72})
>>> lux4 // dict 안 중괄호
{'health': 490, 'mana': 334, 'melee': 550, 'armor': 18.72}
dict.values( )
: 값만 불러오는 것
>>> my_dic
{'학교 1': '서울대', '학교 2': '고려대', '학교 3': '한양대', '학교 4': '경희대'}
>>>
>>> for uni in my_dic.values():
print(uni)
서울대
고려대
한양대
경희대
>>>
dic.keys( )
: 키만 불러오는 것
dic.items( )
: 키와 값을 같이 불러오는 것
>>> for uni in my_dic.keys():
print(uni)
학교 1
학교 2
학교 3
학교 4
>>>
>>> for key, val in my_dic.items():
print(key, val)
학교 1 서울대
학교 2 고려대
학교 3 한양대
학교 4 경희대
- 내장함수 : 이미 내장되어 있는 함수
- 모듈의 함수: import를 해서 쓸 수 있는 함수
- 사용자정의 함수 : 직접 함수를 만들어 사용
def 함수이름(인자1, ...): // 사용자정의 함수
실행할 명령1
실행할 명령2
return 결과
>>> def add(n1, n2):
return n1 + n2
>>> add(1, 2)
3
def 함수이름(인자1, ...): // 사용자정의 함수
실행할 명령1
실행할 명령2
return 결과1, 결과2, ...
>>> def add_mul(n1, n2):
return n1 + n2, n1 * n2
>>> add_mul(3, 5)
(8, 15)
>>> add, mul = add_mul(3, 5) // unpacking도 가능함
>>> add
8
>>> mul
15
>>>
- 비슷한 함수들을 모아둔 것
ex ) 랜덤(random)
random.choice( )
random.sample( )
random.randint(n1, n2)
숫자의 범위를 지정하여 그 숫자 중 하나를 선택
>>> color = ['빨강', '파랑', '노랑', '검정', '초록']
>>>
>>> print(random.choice(color))
노랑
>>> print(random.choice(color))
노랑
>>> print(random.choice(color))
검정
>>> print(random.choice(color))
노랑
>>> print(random.choice(color))
파랑
>>> print(random.sample(color, 2))
['노랑', '검정']
>>> print(random.sample(range(1, 46), 6))
[9, 30, 3, 31, 43, 17]