[TIL] python_ Dictionary, function

정세비·2021년 5월 20일
0

python

목록 보기
6/10
post-thumbnail

1. Dictionary {key: val1, ...}

  • 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 값이 출력됨

1-1. dict로 딕셔너리 만들기

딕셔너리 = 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}

1-2. Dictionary의 method

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 경희대

2. 함수(Function)

  • 내장함수 : 이미 내장되어 있는 함수
  • 모듈의 함수: import를 해서 쓸 수 있는 함수
  • 사용자정의 함수 : 직접 함수를 만들어 사용
def 함수이름(인자1, ...):     // 사용자정의 함수
    실행할 명령1
    실행할 명령2
    return 결과

>>> def add(n1, n2):
	return n1 + n2
>>> add(1, 2)
3

2-1. 여러개 돌려주기

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
>>> 

3. 모듈(Module)

  • 비슷한 함수들을 모아둔 것
    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]
profile
파주

0개의 댓글