TIL (Today I Learned)
map()
•
map()을 활용한 결과 비교
# 문자열도 iterable이기 때문에 문자 하나씩 정수로 변환됨
a, b, c = map(int, input()) # 123
print(a + b + c) # 6
# 입력값 그대로 정수로 변환하고 싶다면
b = int(input()) # 123
print(b) # 123
# 입력값을 띄어서 받고 싶다면
a, b, c = map(int, input().split()) # 1 2 3
print(a + b + c) # 6
Python
•
사용자 정의 함수도 사용 가능!
def minus_two(x):
return x - 2
minus_numbers = list(map(minus_two, [5, 6]))
print(minus_numbers) # 3, 4
Python
print()
•
출력의 베리에이션!
print('a', 'b', 'c') # a b c
print('a', 'b', 'c', sep='&') # a&b&c
print('a', 'b', 'c', end='&') # abc&
print('a', 'b', 'c', sep = '&' end='&') # a&b&c&
Python
lambda
•
한 줄로 간단하게 함수 표현 가능: lambda input : ouput
# 익명 함수 lambda
minus_two = lambda x : x - 2 # lambda input : output
result = minus_two(5)
print(result) # 3
# map과 같이 사용 가능
minus_numbers = list(map(lambda x : x - 2, [5, 6]))
print(minus_numbers) # 3, 4
Python
List Comprehension
•
List Comprehension을 사용할 때 뒤에 조건문을 붙일 수도 있다!
# 리스트 컴프리헨션과 언패킹
numbers = [i for i in range(1, n + 1) if n % i == 0] # 약수만 저장
Python
WIF (What I Felt)
•
알고리즘 문제 풀면서 손에 익어 어느 정도 잘 알고 있다고 생각했던
map(), print(), lambda List Comprehension 요 네 친구..
•
손에만 좀 익었던 거였을 뿐, 모르고 있던 부분이 틈틈이 있었다.
◦
문자열도 이터러블이기 때문에 map(int, 문자열)을 여러 변수에 할당하면
하나의 숫자가 아닌 쪼개진 숫자가 된다는 것
◦
map()에 파이썬 내부 함수 뿐만 아니라, 사용자 정의 함수도 사용 가능하다는 것
◦
리스트의 요소들을 특정 문자나 공백으로 나눠 한 줄로 출력하고 싶은 경우,
sep 구분자로 간단히 출력할 수 있다는 것(그 전까진 end만 사용해서 비효율적이었던)
◦
lambda를 map과 같이 사용도 가능하다는 것
◦
List Comprehenseion은 조건문을 붙여 사용 가능
•
이번 기회에 제대로 짚고 넘어갈 수 있어서 다행이라 생각이 들고,
다음부터 코드를 짤 때 보다 효율적으로 짤 수 있을 것 같다!