2016-04-27 9 views
-1

私は決してlist.popを使う必要がありません - または少なくとも覚えていないことがあります。なぜこれがそれ自身の特別な方法であるのか不思議でした。なぜ「ポップ」メソッドが存在するのですか?

+2

これはリストのようなデータ構造では非常に一般的な標準操作ですか? –

+4

'list'コンテナを' stack'データ構造として使うアルゴリズムはたくさんあります。 – GWW

答えて

4

list.pop()は、Pythonでスタックを実装するときに便利です。例えば

simplestack = list() 
simplestack.append(1) # [1] 
simplestack.append(2) # [1, 2] 
top = simplestack.pop() # 2 

確かに、あなたはかなり簡単にこの関数を明示的にコーディングすることもできますが、popは素敵なショートカットです。

+0

pop()は(スタックのために)append()と同様にO(1)であることにも注意することが重要です。 – brettb

+0

@brettb初心者はここでは複雑ですが、合理的に愚かな実装はO(1)ではありませんか? –

+0

@AmitGoldこれは、list/arrayとstackの区別です。 'pop(i)'、 'i'はあるインデックスですが、必ずしもO(1)である必要はありません。最後の項目を削除している 'pop()'だけがO(1)です。 @brettbの権利は – brettb

関連する問題