[Python3] dict 선언 & zip() 함수

민갱·2023년 6월 14일
0

Python

목록 보기
4/11

Python 의 dictionary 형과 enumerate()를 사용하다, zip()라는 dictionary() 형을 결합해주는 함수가 있어 공부 했다.
두개의 dict을 풀어서 직접 결합을 시켜줬는데, zip() 함수로 간편이 결합시킬 수 있어서 활용이 좋을 것 같다.

선언

1.
dict1 = {'a' : 1, 'b': 2, 'c': 3}
print(dict1)
==> {'a' : 1, 'b': 2, 'c': 3}

2. 
dict2 = dict([('a', 1), ('b', 2), ('c', 3)])
print(dict2)
==> {'a' : 1, 'b': 2, 'c': 3}

3.
dict3 = dict(a=1, b=2, c=3)
print(dict3)
==> {'a' : 1, 'b': 2, 'c': 3}

4.
dict4 = dict(zip(['a', 'b', 'c'], [1, 2, 3]))
print(dict4)
==> {'a' : 1, 'b': 2, 'c': 3}

5.

players = ["mumu", "soe", "poe", "kai", "mine"]
dict5 = {i: player for i,  player in enumerate(players)}


    # 뒤에서부터 생각을 하면 됨,
    # 1. player in enumerate(players) 는 {0 : a , 1 : b, 2 : c, ...} 이렇게 갈텐데,
    # 키 & 벨류 세트가 하나씩 i 와 player에 들어가는 것 
    # 2. 블라 블라 : 블라 블라 딕셔너리는 이렇게 만들어 지는데 for 뒤의 i,  player in enumerate(players)를 가지고 i : player로 만들겠다 라는 뜻,
    # 딕셔너리는 초기화 될떄 idx(key) : 값(values) 이렇게 초기화 되니깐, i 가 인덱스, player가 벨류이고 idx_player는 {인덱스(순서) : 벨류(선수)} 이렇게 초기화를 하는것이고
    # player_idx 는 마지막에 초기화 시 선수 명을 키로 순서를 벨류로 초기화를 해서 {선수 : 순서} 이렇게 초기화를 한것
    
    

zip() 함수


1.
z = zip(['a', 'b', 'c'], [1, 2, 3])
print(z)
===> <zip object at 0x03C97850>
zip 함수의 반환은 제네레이터를 반환함. 

2. 두개 리스트 이용

z = zip(['a', 'b', 'c'], [1, 2, 3])
for i in z:
	print(i, end = '==>')
==> ('a', 1)==>('b', 2)==>('c', 3) 

3. 두개 튜플 이용

z = zip(('a', 'b', 'c'), (1, 2, 3))
for i in z:
	print(i, end = '==>')
==> ('a', 1)==>('b', 2)==>('c', 3) 

4. 문자열 이용

z = zip('abc', '123')
for i in z:
	print(i, end = '==>')
==> ('a', 1)==>('b', 2)==>('c', 3) 


5. 변수 이용

name = ["may", "kein", "kain", "radi"]
yearing = [5, 10, 1, 3]
info = dict(zip(name, yearning))
profile
가보자고

0개의 댓글