Scnsh Blog

技術的なことを書きたい場所

PythonTips

色々とメモしておく

便利機能

再帰呼び出しの回数の上限値を設定

import sys
sys.setrecursionlimit(1000000) # 最大数が1000000に

間違えやすい内容

dequeでスタックとキューの使い分け

deque.append() # 要素の追加

deque.pop() #LIFO : スタック
deque.popleft() # FIFO : キュー 

2次元配列の初期化

2d_array = [[0]*3]*5 # こうやると他の行と共有してしまう
2d_array = [[0 for i in range(3)] for j in range(5)] #こういう形で宣言する

高速化(最適化)

appendするときは、listではなくtapleを使う

q = deque.append((x,y)) # 早い
q = deque.append([x,y]) # 遅い

heapq

データの追加や最大/最小を常に取りたいデータ構造で最速