Maison  >  Article  >  développement back-end  >  Python a-t-il une pile ?

Python a-t-il une pile ?

藏色散人
藏色散人original
2019-06-28 10:56:435027parcourir

Python a-t-il une pile ?

Python a-t-il une pile ?

Python a-t-il une pile. Les piles sont une structure de données linéaire qui ne peut stocker et récupérer des données qu'en accédant à une extrémité de celles-ci. Elle présente les caractéristiques du dernier entré, premier sorti (LIFO).

Les deux opérations principales sur la pile consistent à pousser un élément sur la pile et à extraire un élément de la pile.

est poussé dans la pile à l'aide de la méthode push() et est sorti de la pile à l'aide de la méthode pop()

Une autre opération courante consiste à prévisualiser l'élément au sommet de la pile. . Bien que la méthode pop() puisse accéder à l'élément en haut de la pile, après avoir appelé cette méthode, l'élément en haut de la pile est également définitivement supprimé de la pile. La méthode peek() renvoie uniquement l'élément supérieur de la pile sans le supprimer

Afin d'enregistrer la position de l'élément supérieur de la pile, et également de marquer où de nouveaux éléments peuvent être ajoutés, nous utilisons la variable top. Lorsqu'elle est poussée dans la pile Lorsqu'un élément est supprimé de la pile, la variable augmente ; lorsqu'un élément est retiré de la pile, la variable diminue

push(), pop() et peek(). sont les trois méthodes principales de la pile, mais il existe d'autres méthodes de la pile et des attributs

opérations habituelles de la pile :

  Stack()   建立一个空的栈对象
  push()    把一个元素添加到栈的最顶层
  pop()     删除栈最顶层的元素,并返回这个元素
  peek()    返回最顶层的元素,并不删除它
  isEmpty() 判断栈是否为空
  size()    返回栈中元素的个数
#-*- coding:?UTF-8 -*-
__author__ = 'Administrator'
#python的list对象模拟栈的实现
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())

Recommandations associées : "Tutoriel Python"

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn