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的堆基本语法

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)