Python

[python] for, if문 축약

SangRok Jung 2022. 8. 31. 22:50
반응형

for문 축약


▶ 기존의 for문을 통한 리스트 생성

li3 = []
for i in range(10):
    li3.append(i)
print(li3)
# [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

 

 

▶ 간략한 리스트 생성

li1 = list(range(10))
print(li1)
# [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

 

 

 

▶ for문 축약을 통한 list생성

li2 = [i for i in range(10)]
print(li1)
# [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

 

 


 

 

 

▶ 중첩 리스트 생성

li = [list(range(5)), list(range(5))]

print(li)
# [[0, 1, 2, 3, 4], [0, 1, 2, 3, 4]]

 

 

 

if문 축약


▶ 기본 if문

if a < 5:
	print("a는 5보다 작다.")

 

 

▶ 축약한 if문

실행문1 if 조건문 else 실행문2
print("a는 5보다 작다.") if a < 5 else print("5보다 크거나 0이다.")

 

 

▶ 여러 조건이 존재했을때 축약한 if문

실행문1 if 조건문 else 실행문2 if 조건문 else 실행문3

 

 

 

▷ 더하기 곱하기

def two_choice(word, *args):
    s = 1
    s = sum(args) if word == 'arithmetic' else mul(*args) if word == 'multiplication' else 0
    return s

two_choice("arithmetic", 1, 2, 3, 4, 5)
# 15

 

 

 

 

for문 + if문


▶ if 조건문에 해당하는 파라미터만 반환하기

[실행문 for 변수 in 반복가능객체 if 조건문]
li = [i for i in range(10) if i % 2 == 0]
print(li)
# [0, 2, 4, 6, 8]

 

 

 

▶ for문에 해당하는 원소를 조건문에 따라 판별

실행문 if 조건문 else 실행문2 for 파라미터 in 반복가능객체
jjak_list = [i if i % 2 == 0 else "False" for i in range(1, 11)]

print(jjak_list)
# ['False', 2, 'False', 4, 'False', 6, 'False', 8, 'False', 10]
반응형

'Python' 카테고리의 다른 글

[python] CSV FILE  (0) 2022.09.01
[python] 파일 읽고 쓰기, 이름 바꾸기  (0) 2022.08.31
[python] function  (0) 2022.08.30
[Python] 예제 : 요일 확인 프로그램  (0) 2022.08.30
[Python] 예제 : 회문(Palindrom)  (0) 2022.08.29