ホームページ  >  記事  >  バックエンド開発  >  Pythonスタックとはどういう意味ですか?

Pythonスタックとはどういう意味ですか?

藏色散人
藏色散人オリジナル
2019-06-24 11:07:547816ブラウズ

Pythonスタックとはどういう意味ですか?

Python スタックとはどういう意味ですか?

スタックは特別なリストです。スタック内の要素は、アクセスはリストの一端 (スタックの最上位と呼ばれます) を介して行われます。このスタックは、後入れ先出し (LIFO、後入れ先出し) データ構造と呼ばれます。

スタックには後入れ先出しの特性があるため、スタックの先頭にない要素にはアクセスできません。スタックの一番下にある要素を取得するには、まず上の要素を削除する必要があります。

スタック上の 2 つの主な操作は、要素をスタックにプッシュすることと、要素をスタックからポップすることです。スタックにプッシュするにはpush()メソッドを使用し、スタックからポップアウトするにはpop()メソッドを使用します。

もう 1 つのよく使用される操作は、スタックの最上位にある要素をプレビューすることです。 Pop() メソッドはスタックの最上位の要素にアクセスできますが、このメソッドを呼び出した後、スタックの最上位の要素もスタックから完全に削除されます。 Peak() メソッドは、スタックの最上位要素のみを削除せずに返します。

スタックの最上位要素の位置を記録し、新しい要素を追加できる場所をマークするために、変数 top を使用します。要素がスタックにプッシュされると、変数は増加します。要素がスタックからポップされると、変数は減少します。

push()、pop()、peek() はスタックの 3 つの主要なメソッドですが、スタックには他のメソッドと属性もあります。

スタック 通常の操作:

Stack()    建立一个空的栈对象
push()     把一个元素添加到栈的最顶层
pop()      删除栈最顶层的元素,并返回这个元素
peek()     返回最顶层的元素,并不删除它
isEmpty()  判断栈是否为空
size()     返回栈中元素的个数

簡単なケースと操作結果:

ここで Python リストを使用します。オブジェクト シミュレーション スタック:

class Stack: 
    """模拟栈""" 
    def __init__(self): 
        self.items = [] 

    def isEmpty(self): 
        return len(self.items)==0  

    def push(self, item): 
        self.items.append(item) 

    def pop(self): 
        return self.items.pop()  

    def peek(self): 
        if not self.isEmpty(): 
            return self.items[len(self.items)-1] 

    def size(self): 
        return len(self.items)

スタック オブジェクトを作成し、操作メソッドを追加します:

s=Stack() 
print(s.isEmpty()) 
s.push(4) 
s.push('dog') 
print(s.peek()) 
s.push(True) 
print(s.size()) 
print(s.isEmpty()) 
s.push(8.4) 
print(s.pop()) 
print(s.pop()) 
print(s.size())

関連する推奨事項: 「Python チュートリアル

以上がPythonスタックとはどういう意味ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。