python標準ライブラリ3

スタック+キュー=デック
deque(デックと発音する)は、両端キューのことpで、スタックと
キューの両方の機能を持っている。
シーケンスのどちらの端でも要素を追加、削除できるようにしたい
ときに便利です。
次のサンプルは、単語の両端から中央に向かって文字をひとつずつ
処理し、単語が回文になっているかチェックする
popleft()はデックから左端の要素を削除して返す。pop()は右端
の要素を削除して返す。これらを組み合わせれば、両端から中央に向かって
文字をひとつずつ処理できる。両端の文字が等しければ、中央に到達するまで
文字の削除を続けていく
deque
def palindrome(word):
from collection import deque
dq = deque(word)
while len(dq) > 1:
if dq.popleft() != dq.pop():
return False
return True
palindrome('a')
True
palindrome('racecar')
True
palindrome('')
True
palindrome('radar')
True
palindrome('halibut')
False
スライスを使う
def another_palindrome(word):
return word == word[::-1]
another_palindrome('radar')
True
another_palindrome('halibut')
False
9:犯人捜し本能を抑えるには
誰かを責めても問題は解決しないと肝に銘じよう
9:焦り本能を抑えるには
小さな一歩を重ねよう