AngelPlayer`s Diary

조건문

조건부 표현식

if else문을 간결하게 사용할 때 유용

기존 리스트의 원소 값을 이용하여 또 다른 리스트를 만들고자 할 때 유용

 

- ex) 리스트에서 특정한 원소만 없애고자 하는 경우

a =[1,2,7,3,4,5,6,7,7]
remove_set = {3,5,6,7}

result = [i for i in a if i not in remove_set]
print(result) # [1, 2, 4]

 

 

 

반복문

- enumerate(iterable객체[, 시작 인덱스 값])

반복과정과 함께 인덱스를 함께 구할 수 있음 (인덱스 시작 값 지정 가능)

member = ['angelplayer', 'men', 'women', 'boy', 'girl']

for idx, person in enumerate(member):
	print('{} 번째 인물은 {}입니다.'.format(idx, person))
	'''
	0 번째 인물은 angelplayer입니다.
	1 번째 인물은 men입니다.
	2 번째 인물은 women입니다.
	3 번째 인물은 boy입니다.
	4 번째 인물은 girl입니다.
	'''

 

 

- continue : 현재 진행을 멈추고 다음 반복을 이어서 수행

- break : 가장 가까운 for, while을 벗어나라는 의미

 

 

 

함수

똑같은 코드가 반복적으로 사용될 때 사용

 

- global 변수 : 지역 변수를 만들지 않고 함수 바깥의 변수를 사용할 때

a = 0

def func():
	global a
	a += 1

for i in range(10):
	func()

print(a) # 10

 

 

- 람다 표현식

함수를 간단하게 한 줄에 작성하여 적용하는 방법

정렬 라이브러리를 사용할 때 유용하게 쓰임

 

lambda 변수 : 사용할 문장

comma = lambda x : format(x, ',')

print(comma(123456789)) # 123,456,789

 

ex) (lambda 파라미터1, 파라미터2: 수행할 문장)(파라미터1, 파라미터2)

lambda_add = (lambda a, b: a + b)(3, 7)

print(lambda_add) # 10

 

 

 

입출력

- 여러 개의 데이터를 입력 받을 때

list(map(int, input().split()))

 

: 진행 순서

1. input()으로 데이터를 입력 받음

2. 입력 받은 데이터를 split()으로 나누어 리스트화

3. map을 통해 각각의 리스트를 int형으로 변경

4. map 형태를 list로 변경

 

 

- 입력 받는 데이터 개수가 고정된 경우, list를 생략하고 바로 여러 변수에 삽입 가능

a, b = map(int, input().split())

 

 

- sys 라이브러리를 활용한 입력

input() 함수는 동작 속도가 느리기 때문에 코딩 테스트에서 시관 초과 판정을 받을 우려가 있음

상대적으로 속도가 빠른 sys 라이브러리의 입력 방식을 사용

import sys

input_data = sys.stdin.readline().rstrip()

 

: sys 라이브러리를 활용하여 공백으로 여러 데이터 입력 받기

import sys

a, b = map(int, sys.stdin.readline().rstrip().split())

print(a + b)

 

 

- 숫자와 문자열 함께 출력하기

파이썬은 Java와 달리 '+' 연산자로 문자열과 숫자를 같이 출력하려고 하면 에러가 나타난다.

answer = 100
print("정답은" + answer + "입니다..!")

# TypeError: can only concatenate str (not "int") to str

 

: 방법 1 - str()로 형변환

print("정답은" + str(answer) + "입니다..!")

 

: 방법 2 - 콤마 사용

print("정답은", answer, "입니다..!")

 

: 방법 3 - .format 사용

print("정답은 {}입니다..!".format(answer))

 

: 방법 4 - f-string 문법 (3.6 이상에서만 사용 가능)

print(f"정답은 {answer} 입니다..!")

 

 

 

 

 

 

공유하기

facebook twitter kakaoTalk kakaostory naver band