파이썬

[Python] enumerate, zip 🤐

이진지니지니진 2023. 3. 7. 14:32

enumerate()

순서가 있는 데이터(리스트, 튜플, 문자열)를 입력으로 받아 인덱스 값을 포함하는 enumerate 객체를 리턴

 

message = ['hello', 'world', '&', 'python', '!!']

for i, msg in enumerate(message):
    print(i, msg)
    
#[출력 결과]
#0 hello
#1 world
#2 &
#3 python
#4 !!

 


 

zip()

동일한 개수로 이루어진 데이터들을 묶어서 리턴하는 함수

 

name = ['apple', 'banana', 'mango']
price = [1000, 800, 2000]

print(list(zip(name, price)))
#[('apple', 1000), ('banana', 800), ('mango', 2000)]

for n, p in zip(name, price):
    print(n, p)
    
#apple 1000
#banana 800
#mango 2000

 

zip과 * 연산자 -> unzip

 

name = ['apple', 'banana', 'mango']
price = [1000, 800, 2000]

zipped = list(zip(name, price))
print(zipped)
#[('apple', 1000), ('banana', 800), ('mango', 2000)]

x, y = zip(*zipped)
print(x)
print(y)
#('apple', 'banana', 'mango')
#(1000, 800, 2000)

 

 


 

enumerate() 와 zip()

여러 개의 순서가 있는 데이터(리스트, 튜플, 문자열)와 인덱스의 요소를 얻고 싶을 때 enumerate와 zip을 함께 사용할 수 있음

 

name = ['apple', 'banana', 'mango']
price = [1000, 800, 2000]

for i, (n, p) in enumerate(zip(name, price)):
    print(i, n, p)

#0 apple 1000
#1 banana 800
#2 mango 2000

 

'파이썬' 카테고리의 다른 글

[Python] DateTime  (1) 2023.03.20
[Python] 딕셔너리 관련 함수들  (0) 2023.03.18
[Python] 문자열 정렬하기 ljust, center, rjust, zfill  (2) 2023.03.18
[Python] 순열 / 조합  (0) 2023.02.16
[Python] 내장 산술 함수  (0) 2023.01.03