Python

[python] for, if문 한줄 작성 | 리스트 컴프리헨션(List Comprehension)

앳홍 2023. 7. 31. 18:01
반응형

 

리스트 컴프리헨션(List Comprehension)

 대괄호 ('[ ]') 로 감싸고 내부에 for문과 if 문 반복 사용하며 조건에 만족하는 것만 리스트로 생성 가능하다.

 

for, if 문 대신 사용하는 이유

우리가 보통 아는 조건문, 반복문인 for, if 를 사용하지 않고 리스트 컨프리션을 사용하는 이유는 

for, if 문을 사용한 것 보다 간결하고 속도도 빠르기 때문이다.

 

예시

아래의 리스트로 담겨져있는 변수 대상으로 진행

 

  • 리스트 컴프리헨션 방법이 아닌 for, if문을 사용해서 리스트 생성
save_test =[]	# 빈리스트 생성
for test in test_list:	# 반복문을 통해 test_list 에 있는 요소 한 개씩 내려받음
	if test.startwith("a"):	# 요소 안에 "a" 가 들어있을 경우
    	save_test.append(test)	# 빈리스트 내에 넣음

결과값: 

 

  • 리스트 컴프리헨션을 사용해서 한줄로 리스트 생성 

 


for 문과 중첩 if 문 예시
  • 리스트 컴프리헨션 방법이 아닌 for, if문을 사용해서 리스트 생성
save_test =[]	# 빈리스트 생성
for test in test_list:	# 반복문을 통해 test_list 에 있는 요소 한 개씩 내려받음
	if test.startwith("a"):	# 요소 안에 "a" 가 들어있을 경우
    	if not test.endswith("1")	# 마지막 글자에 1이 아닌 경우
    		save_test.append(test)	# 빈리스트 내에 넣음

결과 값:

 

  • 리스트 컴프리헨션을 사용해서 한줄로 리스트 생성 

 

 


참고) [python] 문자열 내 특정 문자 찾기(startswith, endswith)

 

[python] 문자열 내 특정 문자 찾기(startswith, endswith)

startswith()와 endswith() startswith(): 문자열 처음에 오는 문자 찾기 endswith(): 문자열 마지막에 오는 문자 찾기함수는 문자열 내부에 있는 특정 문자를 찾아낼 수 있는 함수이다. 사용방법 str.startswith('

mingd0o0.tistory.com