-
[파이썬] zip 함수로 리스트 짝지어주기파이썬 배우기 2023. 11. 16. 15:14
for문을 활용하여 과목 리스트와 점수 리스트를 합쳐서 하나의 과목별 점수 dict을 만들어보려고 합니다.
정말 다양한 방법이 있겠지만 기본적인 방법과 zip 함수를 활용한 방법 두 가지를 소개해보겠습니다.
(참고로 가장 적은 인자를 갖는 리스트를 기준으로 만들어지고 나머지는 버려지게 됩니다. 합치기 전에 len을 확인해보는 것을 추천합니다!)
1. 아주 기본적인, 정석적인 방법 : for문으로 짝지어서 넣기
subjects = ['국어','수학','영어'] scores = [70,100,90] dict_score = {} for idx in range(len(subjects)): #subjects와 scores의 인자 갯수가 같기 때문에 어떤 것을 써도 상관없음 dict_score[subjects[idx]] = scores[idx] dict_score # output : {'국어': 70, '수학': 100, '영어': 90}
2. zip 사용하기 - 기본
subjects = ['국어','수학','영어'] scores = [70,100,90] dict_score = dict(zip(subjects, scores)) dict_score # output : {'국어': 70, '수학': 100, '영어': 90}
(참고) 세 개 이상의 리스트도 짝지어서 하나로 만들 수 있습니다.
subjects = ['국어','수학','영어'] scores = [70,100,90] grades = ['C','A','B'] lst_score = list(zip(subjects, scores, grades)) lst_score # output : [('국어', 70, 'C'), ('수학', 100, 'A'), ('영어', 90, 'B')]
(참고) zip 사용하기 - 다른 방법 1
subjects = ['국어','수학','영어'] scores = [70,100,90] dict_score = {} for subject, score in zip(subjects, scores): dict_score[subject] = score dict_score # output : {'국어': 70, '수학': 100, '영어': 90}
(참고) zip 사용하기 - 다른 방법 2
subjects = ['국어','수학','영어'] scores = [70,100,90] dict_score = {subject:score for subject, score in zip(subjects, scores)} dict_score # output : {'국어': 70, '수학': 100, '영어': 90}
'파이썬 배우기' 카테고리의 다른 글
[파이썬] matplotlib으로 다중 꺾은선 그래프 그리기 (1) 2023.11.21 [파이썬] 데이터프레임 합치는 3가지 방법 (1) 2023.11.21 [파이썬] 데이터프레임에서 조건에 맞는 값 변경하는 두 가지 방법 (0) 2023.11.20 [파이썬] dict에서 없는 키값 처리하는 get() 함수 (0) 2023.11.20 [파이썬] enumerate로 자동으로 인덱싱하기 (0) 2023.11.16