단계 설명
지금까지의 프로그래밍 문법으로 더 어려운 문제들을 풀어봅시다.
문제 / 코드보기
새로 알게된 점
-
문자열/list/dict 에서 특정 문자 포함되어 있는가?
if {value(dict:key)} in {str/list/dict}
if 'a' in 'abcdf': # True
...
if 'a' not in ['a','b','c','d','e']: # False (not 이기 때문에)
...
if 'a' in {'a':0,'b':0,'c':0,'d':0,'e':0} # Ture (key 기준으로 검색)
...
-
문자열에서 특정 문자 index 위치 찾기 (문자가 없을 경우 -1 반환)
str.find(value)
-
숫자 소수점 자리수 지정하는 방법1: round() / math.ceil() / math.floor() / math.trunc()
round(number,자리수)
num = 12345.6789
print("소수 첫번째 자리에서 반올림 : ", round(num))
# 소수 첫번째 자리에서 반올림 : 12346
print("1 의 자리에서 반올림 : ", round(num, -1))
# 1 의 자리에서 반올림 : 12350.0
print("소수 네번째 자리에서 반올림 : ", round(num, 3))
# 소수 네번째 자리에서 반올림 : 12345.679
math.ceil(number)
import math
print(math.ceil(12.34)) # 13
print(math.ceil(-12.34)) # 12
math.floor(number)
import math
print(math.floor(12.34)) # 12
print(math.floor(-12.34)) # -13
math.trunc(number)
import math
print(math.trunc(12.34)) # 12
print(math.trunc(-12.34)) # -12
-
숫자 소수점 자리수 지정하는 방법2: f-string
- 자리수까지 '0'이 채워진다.
- 자리수까지 반올림되서 보여진다.
- 문자열로 출력된다.
num1 = 3.14159265358979
num2 = 1234.56789
print(f"소수 첫번째 자리까지 표기: {num1:.1f} / {num2:.1f}")
# 소수 첫번째 자리까지 표기: 3.1 / 1234.6
print(f"소수 네번째 자리까지 표기: {num1:.4f} / {num2:.4f}")
# 소수 네번째 자리까지 표기: 3.1416 / 1234.5679
-
숫자 소수점 자리수 지정하는 방법3: "{}".format()
"{index(생략가능):.표기할 자리수f}".foramt(실수)
num1 = 3.14159265358979
num2 = 1234.56789
print("소수 첫번째 자리까지 표기: {:.1f} / {:.1f}".format(num1, num2))
# 소수 첫번째 자리까지 표기: 3.1 / 1234.6
print("소수 네번째 자리까지 표기: {1:.4f} / {0:.4f}".format(num1, num2))
# 소수 네번째 자리까지 표기: 1234.5679 / 3.1416
-
숫자 소수점 자리수 지정하는 방법4: format()
format(실수, ".표기할 자리수f")
num = 3.14159265358979
print("소수 첫번째 자리까지 표기: ", format(num, ".1f"))
# 소수 첫번째 자리까지 표기: 3.1
print("소수 네번째 자리까지 표기: ", format(num, ".4f"))
# 소수 네번째 자리까지 표기: 3.1416
-
List 필터링하는 방법1: filter()
filter(function, iterable)
function 의 반환값은 boolean이여야 한다.
originalList = [1, 2, 44, 52, 61, 7, 28, 92, 10]
def isBiggerThanFive(x):
return x>5
newList = list(filter(isBiggerThanFive, originalList))
print(newList) # [44, 52, 61, 7, 28, 92, 10]
# 값에 짝수만 추출해서 새로운 리스트 만들기 (lambda 사용하기)
filteredList = list(filter(lambda x: x%2==0, originalList))
-
List 필터링하는 방법2: List Comprehension
newList = [x for x in iterable if 조건]
originalList = [1, 2, 44, 52, 61, 7, 28, 92, 10]
newList = [x for x in origianlList if x>5]
print(newList) # [44, 52, 61, 7, 28, 92, 10]
단계 설명
문제 / 코드보기
새로 알게된 점
문자열/list/dict 에서 특정 문자 포함되어 있는가?
if {value(dict:key)} in {str/list/dict}
문자열에서 특정 문자 index 위치 찾기 (문자가 없을 경우 -1 반환)
str.find(value)
숫자 소수점 자리수 지정하는 방법1:
round()/math.ceil()/math.floor()/math.trunc()round(number,자리수)
math.ceil(number)
math.floor(number)
math.trunc(number)
숫자 소수점 자리수 지정하는 방법2: f-string
숫자 소수점 자리수 지정하는 방법3: "{}".format()
"{index(생략가능):.표기할 자리수f}".foramt(실수)
숫자 소수점 자리수 지정하는 방법4: format()
format(실수, ".표기할 자리수f")
List 필터링하는 방법1: filter()
filter(function, iterable)
function의 반환값은 boolean이여야 한다.List 필터링하는 방법2: List Comprehension
newList = [x for x in iterable if 조건]