정구리의 우주정복

[Python] enumerate 를 사용해 list 를 dictionary로 만들기 (list to dict) 본문

PYTHON/STUDY

[Python] enumerate 를 사용해 list 를 dictionary로 만들기 (list to dict)

Jungry_ 2023. 1. 28. 00:12
반응형

list 를 dict로 만들려면 어떻게 해야할깡 

 

!!오늘의 목표!!

['a','b','c','d'] -> {1: 'a', 2: 'b', 3: 'c', 4: 'd'}

 

[a, b, c, d] 라는 내용을 가진 list 를  {1:a,2:b,3:c,4:d} dictionary 로 만들어 볼 것이다

 

어렵지 않다 enumerate 를 사용하면 된다 !! 

 

#list 생성하기
lst = ['a','b','c','d']
print(lst)

>> ['a', 'b', 'c', 'd']

list 에 enumerate 를 사용하면 

(0, 'a')
(1, 'b')
(2, 'c')
(3, 'd')

이런 형태가 되게 된다 ! 만약 이것을 다루고 싶다면 

for i in enumerate(lst):
    print(i)
    
>> (0, 'a')
(1, 'b')
(2, 'c')
(3, 'd')

for문을 통해 접근할 수 있다  for문을 통하지 않고 그냥 print 를 찍게 되면

print(enumerate(lst))

>> <enumerate object at 0x7fd739e43400>

내가 원하는 값과 다른 값이 나온다 

 

그럼 이제 이 list 를 dict 형태로 바꾸려면 그냥 dict를 씌워주면 된다

dic = dict(enumerate(lst))
print(dic)

>> {0: 'a', 1: 'b', 2: 'c', 3: 'd'}

for문을 사용할 필요없이 그냥 dict를 씌워주면 변환이 된다 어렵지 않당

하지만 우리가 원하는 딕셔너리는 1부터 시작하는

{1: 'a', 2: 'b', 3: 'c', 4: 'd'}

였는데 ! 이렇게 만들어주기 위해선

#뒤에 start 값을 주면 어디서부터 시작할 지 정할 수 있다 !
dic = dict(enumerate(lst,start=1))
print(dic)

>> {1: 'a', 2: 'b', 3: 'c', 4: 'd'}

start 값을 지정해주면 내가 원하는 시작 키를 정해줄 수 있다

 

반응형
Comments