파이썬 기초 - zip

LSH·2023년 5월 18일
0

교육 정보

  • 교육 명: 경기미래기술학교 AI 교육
  • 교육 기간: 2023.05.08 ~ 2023.10.31
  • 오늘의 커리큘럼: 빅데이터 기초 활용 역량 강화 (5/10~6/9) - 파이썬 프로그래밍
  • 강사: 조미정 강사님 (빅데이터, 머신러닝, 인공지능)
  • 강의 계획:
    1. 파이썬 언어 기초 프로그래밍
    2. 크롤링 - 데이터 분석을 위한 데이터 수집(파이썬으로 진행)
    3. 탐색적 데이터 분석, 분석 실습
    - 분석은 파이썬만으로는 할 수 없으므로 분석 라이브러리/시각화 라이브러리를 통해 분석
    4. 통계기반 데이터 분석
    5. 미니프로젝트

1. zip()

1.1 zip 함수의 개념

  • 두개 이상의 리스트를 입력받아 인덱스가 동일한 요소끼리 묶어서 튜플 자료형으로 반환하는 함수
  • 리스트끼리 인덱스 수가 안 맞으면 있는데까지만 반환
name  = ['apple', 'peach']
price = [1000, 2000]
z = zip(name, price)
print(type(z))
print(z) 
print(list(z)) 
#
#결과
<class 'zip'>
<zip object at 0x7f0450b0b7c0>
[('apple', 1000), ('peach', 2000)]
  • list, dictionary comprehension과 같이 사용
name = ['merona', 'gugucon', 'bibibig']
price = [500, 1000, 600]
#zip
icecream = dict(zip(name,price))
print(icecream) 
#
#결과
{'merona': 500, 'gugucon': 1000, 'bibibig': 600}
#comprehension 사용
icecream2 = {i:j for i,j in zip(name, price)}
print(icecream2)
#
#결과
{'merona': 500, 'gugucon': 1000, 'bibibig': 600}
#문제 2. comprehension 표현식 수정 - 가격 두배
icecream3 = {i:j*2 for i,j in zip(name, price)}
print(icecream3)
#
#결과
{'merona': 1000, 'gugucon': 2000, 'bibibig': 1200}
#문제 3. comprehension 조건식 추가 - 가격이 1000원 미만인 것만 딕셔너리로 변환
icecream4 = {i:j for i,j in zip(name, price) if j < 1000}
print(icecream4)
#
#결과
{'merona': 500, 'bibibig': 600}

❓찾아보기

  • zip으로 생성한 변수의 내용이 불러와지지 않는 오류같은게 있는데 이게 뭘까?
  • 이유를 찾으면 수정 예정
name=["a", "b"]
price =[1,2]
z = zip(name, price)
print(z)
print(dict(z))
print(type(z))
#zip을 리스트나 딕셔너리로 만들수 있음 
print(z)
print(type(list(z)))
print(z, list(z))
print(z)
print(type(dict(z)))
print(z, dict(z))
#
# 결과
<zip object at 0x7f043415f780>
{'a': 1, 'b': 2}
<class 'zip'>
<zip object at 0x7f043415f780>
<class 'list'>
<zip object at 0x7f043415f780> [] # z변수의 내용이 불러와지지 않음. 만료?
<zip object at 0x7f043415f780>
<class 'dict'>
<zip object at 0x7f043415f780> {} # z변수의 내용이 불러와지지 않음
profile
:D

0개의 댓글