Python堆栈用法

2023-12-05

Python的栈基本语法

class Stack(object):

    def __init__(self):
        self.items = []

    def is_empty(self):
        """判断是否为空集"""
        return self.items == []

    def push(self, item):
        """添加新元素到栈顶"""
        self.items.append(item)

    def pop(self):
        """删除栈顶元素"""
        return self.items.pop()

    def peek(self):
        """窥探栈顶元素"""
        return self.items[-1]

    def size(self):
        """查看栈的大小"""
        return len(self.items)

if __name__ == '__main__':

    stack = Stack()
    print(stack.is_empty())
    stack.push(2)  # 入栈
    stack.push(3)  # 入栈
    print(stack.size())
    print(stack.peek())
    stack.pop()  # 出栈
    print(stack.size())

Python的堆基本语法

螢幕截圖 2023-11-09 下午3.12.58.png

#!/usr/bin/env python3

  


def merge_triplets(lst):

i = 0

while i < len(lst) - 2:

if lst[i] == lst[i + 1] == lst[i + 2]:

# 合并连续三个相同数字

lst.pop(i + 2)

lst.pop(i + 1)

lst[i] *= 3

i = max(0, i - 1)  # 回退一个位置,以检查新合并的数字是否能够再次合并

else:

i += 1

return lst

  

# 示例

input_list = [1, 6, 2, 2, 2, 6, 9, 3, 3, 3, 9, 5, 5, 5, 6]

result = merge_triplets(input_list)

print(result)

---------------------------END---------------------------

题外话

在这里插入图片描述

感兴趣的小伙伴,赠送全套Python学习资料,包含面试题、简历资料等具体看下方。

???? CSDN大礼包????: 全网最全《Python学习资料》免费赠送????! (安全链接,放心点击)

一、Python所有方向的学习路线

Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照下面的知识点去找对应的学习资源,保证自己学得较为全面。

img

二、Python兼职渠道推荐 *

学的同时助你创收,每天花1-2小时兼职,轻松稿定生活费.
在这里插入图片描述

三、最新Python学习笔记

当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。

img

四、实战案例

纸上得来终觉浅,要学会跟着视频一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

img

???? CSDN大礼包????: 全网最全《Python学习资料》免费赠送????! (安全链接,放心点击)

若有侵权,请联系删除

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python堆栈用法 的相关文章

随机推荐