반응형
Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | |||||
| 3 | 4 | 5 | 6 | 7 | 8 | 9 |
| 10 | 11 | 12 | 13 | 14 | 15 | 16 |
| 17 | 18 | 19 | 20 | 21 | 22 | 23 |
| 24 | 25 | 26 | 27 | 28 | 29 | 30 |
| 31 |
Tags
- 문자열
- SpringBoot
- Visual Studio Code
- string
- 자바문법
- 자바스크립트
- ArrayList
- Java
- 자바
- 단위테스트
- CSS
- vscode
- junit
- list
- Eclipse
- js
- 스프링부트
- Array
- input
- math
- javascript
- 정규식
- IntelliJ
- java테스트
- junit5
- 인텔리제이
- 배열
- html
- HashMap
- 테스트자동화
Archives
- Today
- Total
어제 오늘 내일
[Python 기초] "따로 노는 리스트를 하나로 묶자!" zip() 함수 활용법 본문
zip()은 이름처럼 여러 개의 지퍼를 하나로 잠그듯, 서로 다른 리스트들의 요소를 같은 인덱스끼리 쏙쏙 뽑아 짝을 지어주는 함수입니다.
1. 기본 사용법: 리스트 짝꿍 만들기
두 개의 리스트에서 같은 번호에 있는 데이터끼리 묶어서 튜플(()) 형태로 보여줍니다.
📌 예제 코드: 이름과 점수 매칭
names = ["철수", "영희", "민수"]
scores = [85, 90, 100]
# zip으로 묶은 뒤 리스트로 변환해서 확인
zipped = list(zip(names, scores))
print(zipped)
# 출력: [('철수', 85), ('영희', 90), ('민수', 100)]
2. 실무 1등 문법: 딕셔너리로 즉시 변환
zip()의 가장 강력한 용도는 두 리스트를 Key와 Value의 관계로 만드는 것입니다. dict() 함수와 결합하면 1초 만에 데이터베이스 형태가 완성됩니다.
📌 예제 코드: 리스트 ➔ 딕셔너리
keys = ["id", "name", "email"]
values = [101, "Kim", "kim@test.com"]
# zip을 dict로 감싸면 앞의 리스트는 Key, 뒤는 Value가 됩니다.
user_dict = dict(zip(keys, values))
print(user_dict)
# 출력: {'id': 101, 'name': 'Kim', 'email': 'kim@test.com'}
3. 반복문()에서 동시에 꺼내 쓰기
리스트 두 개를 동시에 돌리면서 값을 활용하고 싶을 때 range(len(list))를 쓰는 것보다 훨씬 읽기 좋은 코드를 만들어줍니다.
📌 예제 코드: 동시 순회
fruits = ["Apple", "Banana", "Orange"]
prices = [1000, 500, 700]
for fruit, price in zip(fruits, prices):
print(f"{fruit}의 가격은 {price}원입니다.")
# 출력:
# Apple의 가격은 1000원입니다.
# Banana의 가격은 500원입니다.
# Orange의 가격은 700원입니다.
⚠️ 주의사항: 길이가 다르면 어떻게 되나요?
zip()은 아주 냉정합니다. 리스트들의 길이가 서로 다르면 가장 짧은 리스트의 길이에 맞춰서 남는 데이터는 그냥 버려버립니다.
a = [1, 2, 3]
b = ["A", "B"]
print(list(zip(a, b)))
# 출력: [(1, 'A'), (2, 'B')] <-- 3은 짝이 없어서 사라집니다!
(💡 꿀팁: 만약 남는 데이터도 다 챙기고 싶다면 itertools.zip_longest라는 함수를 사용하면 됩니다.)
📝 요약
zip(list1, list2): 같은 순서의 데이터를 튜플로 묶어준다.dict(zip(keys, values)): 두 리스트를 딕셔너리로 변환할 때 최고다.- 순회: 여러 리스트를 동시에
for문으로 돌릴 때 가독성이 좋다.
이제 리스트를 합치고, 자르고, 뒤집고, 대조하고, 짝짓는 모든 기초 기술을 습득하셨습니다!
반응형
'IT > Python' 카테고리의 다른 글
| [Python 기초] "표 형태의 데이터도 한 줄로!" 2차원 리스트 컴프리헨션 (0) | 2026.05.24 |
|---|---|
| [Python 기초] "세 줄 코드를 한 줄로!" 리스트 컴프리헨션 완벽 이해 (0) | 2026.05.24 |
| [Python 기초] "누가 빠졌지?" 리스트 차집합 찾기 및 데이터 대조 (0) | 2026.05.22 |
| [Python 기초] "겹치는 데이터만 골라내자!" 리스트 교집합 찾기 3가지 비법 (0) | 2026.05.22 |
| [Python 기초] "흩어진 데이터를 하나로!" 파이썬 리스트 합치기 4가지 방법 (0) | 2026.05.21 |
Comments
