본문 바로가기

코딩

[Python] 코드 단순화 (f-string, List Comprehension, Enumerate)

1. f-string 포맷팅

변수와 함께 텍스트를 출력해야 할 때 f-string 포맷팅을 사용하지 않으면 아래와 같이 길어진다.

#Example : 포맷팅 사용X
hour = 8

print("현재 시간은 " + str(hour) + "시 입니다.")

 

하지만 f-string 포맷팅을 사용하면 아래와 같이 줄일 수 있다.

"" 앞에 f를 적고, {} 안에는 변수명을 적으면 된다.

#Example : 포맷팅 사용O
hour = 8

print(f"현재 시간은 {hour}시 입니다.")

 

 

2. List Comprehension

리스트에 반복문을 사용해 값을 저장할 때, 단순하게 코드를 작성하는 방법이다.

기본적인 형식은 아래와 같다.

리스트 = [1) 2) 3) 중 넣으면 됨]
1) 입력값 for 변수 in 시퀀스
2) 입력값 for 변수 in 시퀀스 if 조건문
3) (조건문 True일 때 입력값) if 조건문 else (조건문 False일 때 입력값) for 변수 in 시퀀스
#Example
a_list = [10*x for x in range(10) if x%2 == 0]

print(a_list)

>> [0, 20, 40, 60, 80]

 

 

3. Enumerate

인덱싱과 함께 값을 저장하거나 출력하는 방법이다.

리스트, 문자열, 딕셔너리에 사용할 수 있다.

#Example
a_list = ['a', 'b', 'c']

b = list(enumerate(a_list, start=12))  # 인덱스 시작 번호 : 12

print(b)

>> [(12, 'a'), (13, 'b'), (14, 'c')]

 

#Example
a_list = ['a', 'b', 'c']

for x, y in enumerate(a_list, start=12):
	print(x, y)

>> 12 a

     13 b

     14 c