프로그래밍 언어/Python

[Python] 01. List Comprehension, enumerate

망고 ෆ 2024. 3. 26. 19:14
List Comprehension

 

1. List Comprehension 이란?

  • 직관적으로 리스트를 생성 (최종 출력값이 리스트로 나타남)
  • 한 줄로 간결하게 코딩 가능
  • 너무 중첩해서 사용할 경우에는 오히려 부작용이 생길 수 있음
  • 기능 : 값을 돌려가면서 (for문), 원하는 값들을 모으는 역할 (list처럼)

 

2. 형식

    [출력받고 싶은 값 for문 if문 (조건문)]

 

(말로 설명하긴 어려우니 아래 코드를 첨부할게요..ㅎㅎ)

# 0 ~ 4까지 값을 리스트로 출력해보자

a = []
for i in range(5):
	a.append(i)

print(a)

 

위의 코드를 list comprehension을 통해 한 줄로 표현한다면?

[i for i in range(5)]

 

<출력 결과>

[0, 1, 2, 3, 4]

 

위 두 코드 모두 이와 같은 결과가 출력되는 것을 볼 수 있다.

 

 

 

 

enumerate 함수

 

1. enumerate 함수란?

  • list, tuple, set, dict 등 을 입력으로 받았을 때, 인덱스와 값을 모두 리턴
  • 인덱스와 값을 모두 리턴받고 싶을 때 사용

 

2. 형식

a = {"A": 1, "B": 2, "C": 3}

for i in enumerate(a):
    print(i)

 

<출력 결과>

(0, 'A')
(1, 'B')
(2, 'C')

 

위 코드 실행시 아래와 같이 (인덱스, 값) 형태로 출력되는 것을 볼 수 있다.

 

만약, 인덱스와 값을 각각 출력받고 싶다면 이와 같이 실행하면 된다.

for i,v in enumerate(a):
    print(i)                #정수 인덱스
    print(v)                #값

 

<출력 결과>

0
A
1
B
2
C