본문 바로가기

diary/byromself

12/06/22 python 적응하기 1

 

input() 대신 import sys 사용 시 주의할 점 - 개행 문자 포함

입력 속도에서 이점을 보기 위해 java에서 Scanner 대신 BufferedReader를 사용했던 것처럼 python에서도 input() 메서드를 그대로 사용하지 않고 sys를 import 해 사용함

 

e.g.

 

import sys
input = sys.stdin.readline

s = str(input()) //개행 문자가 포함됨
sss = str(input().strip()) //개행 문자가 포함되지 않음
  • strip()을 호출하지 않고 input()만 호출하는 경우 개행 문자가 입력으로 포함되어 의도하지 않은 분기로 진행될 수 있음에 주의하자

 

리스트가 비었는지 확인하기

java에서 isEmpty() 메서드를 이용해 리스트가 비었는지 확인할 수 있었던 것과 달리 python에서는 단순히 리스트를 인자로 받아 요소가 존재하면 true, 존재하지 않으면 false를 반환해준다

 

e.g.

 

list1 = [1, 2, 3]
if list1:
    print("list1 is not empty")
    print(list1)

list2 = []
if not list2:
    print("list2 is empty")
    print(list2)

 

list1 is not empty
[1, 2, 3]
list2 is empty
[]

 


Deque 사용하기

 

e.g. 

from collections import deque  # import

deque = deque()  # 선언
deque.append(5)
deque.append(7)  # 맨 뒤에 요소 삽입
deque.appendleft(9)  # 맨 앞에 요소 삽입

print(deque)  # deque([9, 5, 7])
print(deque.popleft())  # 9
print(deque)  # deque([5, 7])
print(deque.pop())  # 7
print(deque)  # deque([5])