쿨가이두번째삶

파이썬공부8, 리스트컴프리헨션(List Comprehension),들여쓰기(Indent) 본문

개발,coding/Python파이썬

파이썬공부8, 리스트컴프리헨션(List Comprehension),들여쓰기(Indent)

쿨가이두번째삶 2022. 11. 24. 17:37
728x90
반응형

 

for if 조건문을 조금 더 간단하게 1줄로 나타낼 수 있는 '리스트컴프리헨션(List Comprehention)

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

>>리스트 안에서 필요한 값들만 뽑아내거나 값을 변형시켜 새로운 리스트를 만들 때 사용

new_list = [변수 활용 for 변수 in 반복대상 if 조건]

ex)

my_list = [1, 2, 3, 4, 5]

new_list = [x for x in my_list if x > 3]

>> [4, 5]

 

for if 조건문을 사용한 예시

products=['python-2020', 'python-2021', 'java-2020', 'java2021']
recall = []
for p in products:
    if p.startswith('java'):
        recall.append(p)
print(recall)
 

>>['java-2020', 'java2021']

 

  list comprehention을 사용해서  리스트 변형한 예시

products=['python-2020', 'python-2021', 'java-2020', 'java2021']
recall = [p for p in products if p.startswith('java')]
print(recall)

>>['java-2020', 'java2021']

# 동일한 결과값이 나온다 

응용 예제)

products=['python-2020', 'python=2021', 'python-2022']
#모든 모델명 뒤에 SE(special edition)을 붙여라
prod_se = [p + 'SE' for p in products]
print(prod_se)

>>['python-2020SE', 'python=2021SE', 'python-2022SE']

products=['python-2020', 'python=2021', 'python-2022']
#모든 모델명을 소문자로 변경
prod_lower = [p.lower() for p in products]
print(prod_lower)

>>['python-2020', 'python=2021', 'python-2022']

products=['python-2020', 'python=2021', 'python-2022']
#22년도 제품만 뽑거 뒤에 '최신형'이라는 글자를 붙여라
prod_new = [p + '(최신형)' for p in products if p.endswith('2022')]
print(prod_new)

>>['python-2022(최신형)']

my_list = ['korea', 'English', 'france']
new_list = [x.upper()for x in my_list if 'a' in x]
print(new_list)
 

>>['KOREA', 'FRANCE']

 

 파이썬에서 들여 쓰기는 매우 중요하다. 실행 자체가 완전히 다른 값이 되어 버리기 때문이다

if조건문:

for반복문:

while반복문:

def함수:

try예외:

class클래스:

모두 ' : ' 나타낸후 아래줄에서 들여 쓰기가 들어가야 한다

if조건문:
    문장1
    문장2
    if조건문2:
        문장1
        문장2
       

 # if조건문을 예를 들면, 1st 조건문을 진행하다가 2nd 조건문을 진행할 땐 다시 추가로 들여 쓰기를 

한 후 진행된다

 

 

728x90
반응형