Python/보관

[Python/파이썬] 리스트 안의 리스트(List)를 딕셔너리(dictionary)로 변환

CODE.J 2023. 4. 1. 20:29
반응형
반응형

Slack을 통해 특정인에게 메세지를 보내거나 채널에서 멘션을 줘야하는 경우,

어딘가 존재하는 테이블에서 이름과 아이디를 1:1로 가져온 경우 사용합니다.

#이중 리스트 형식
list = [["월식", "10000"],["화희","20000"],["철수","15000"],["목화","20000"],["금채","30000"]]

#{'월식': '10000', '화희': '20000', '철수': '15000', '목화': '20000', '금채': '30000'}
list_value = dict(list)

#"월식"이라는 키의 값 출력
print (list_value["월식"])
#10000

주의 사항으로, 한 쌍의 리스트만 적용 가능 합니다.

한 쌍을 넘는 리스트를 dict 처리하면 "ValueError: dictionary update sequence element #0 has length 3; 2 is required" 에러가 발생 합니다.

 

만약, 한쌍을 넘는 리스트의 경우 아래와 같이 가공하시면 됩니다.

#개별 리스트에 3개의 값이 있는 리스트 묶음
list = [["월식", "10000", "지각"],["화희","20000", "통과"],["철수","15000", "취소"],["목화","20000", "출석"],["금채","30000", "완료"]]

#빈 list 생성
id_list = []
#이름과 ID만 취합. 결과 [['월식', '10000'], ['화희', '20000'], ['철수', '15000'], ['목화', '20000'], ['금채', '30000']]
for i in list:
    id_list.append([i[0],i[1]])

#{'월식': '10000', '화희': '20000', '철수': '15000', '목화': '20000', '금채': '30000'}
id_value = dict(id_list)

#결과 10000
print (id_value["월식"])

 

 

 

반응형