1) 람다 표현식
list(map(lambda x: x+10, [1,2,3]))
2) 리스트 컴프리헨션
# 홀수인 경우 2를 곱해 출력하라는 리스트 컴프리헨션
[n*2 for n in range(1,10+1) if n%2 == 1]
=> map과 filter대신 리스트 컴프리헨션을 쓰는게 더욱 "파이썬스럽고", 가독성도 높다고 한다.
리스트 외에 딕셔너리도 사용가능하다. ( v 2.7 이후의 경우)
a = {key: value for key, value in original.items()}
# 이렇게 하면 original에 있던 item들의 key와 value가 a[key] = value로 저장됨
3) enumerate
index와 value를 같이 사용하고 싶은 경우!
for i,v in enumerate(a):
print(i,v)
a = [1,2,3,4,5]
list(enumerate(a)) # list로 안 감싸주면 enumerate 객체로 리턴됨.
>> [(0,1), (1,2), (2,3), (3,4), (4,5)]
4) 나눗셈
# 그냥 /을 사용할 시 소숫점 단위로 계산됨.
print(5/3)
>>> 1.666666666..7 (float)
# 몫만 알고싶을땐 //을 이용
print(5//3)
>>> 1
# int(5/3)이랑 5//3이랑 동일함
print((int(5/3))
>>> 1
# 몫과 나머지를 동시에 구하고 싶다면
divmod(5,3)
>> (1,2) # 앞이 몫, 뒤가 나머지
5) 출력
# [1] sep 파라미터로 구분자를 콤마(,)로 지정해줄 수 있음
print('A1', 'B2', sep=',')
>> A1,B2
# [2] end 파라미터를 공백으로 처리하여 줄바꿈하지 않도록 제한할수도 있음.
print('aa', end=' ')
print('bb')
>> aa bb
# [3] 리스트를 출력할때는 join()으로 묶어서 처리
a=['A','B']
print(' '.join(a))
>> A B
# [4] formatting 하는 법
idx = 1
fruit = 'apple'
print('{}:{}'.format(idx+1, fruit))
>>> 2:apple
6) pass
def method_a(a):
pass
def method_b(b):
pass
pass는 null operation. 즉 아무것도 하지 않는 기능임.
따라서 pass는 목업 인터페이스부터 구현한 다음에 추후 구현을 진행할 수 있게 해줌. --> 유용하게 활용 가능!
참고:
책 <파이썬 알고리즘 인터뷰>
'[언어] 파이썬' 카테고리의 다른 글
파이썬 기본 자료구조 (0) | 2021.04.11 |
---|---|
(PS를 위한 파이썬 활용법 -3) (0) | 2021.04.04 |
(PS를 위한 파이썬 활용법 -2) (0) | 2021.04.03 |
(PS를 위한 파이썬 활용법 -1) (0) | 2021.04.02 |
댓글