feat: python
This commit is contained in:
@@ -0,0 +1,65 @@
|
||||
# remove、del和pop都是用于从列表中删除元素的,但它们在用法、功能和行为上有所不同:
|
||||
|
||||
# remove(item):
|
||||
|
||||
# 功能:根据值来删除列表中的第一个匹配项
|
||||
# 返回值:无返回值(None)
|
||||
# 异常:如果列表中不存在指定的item,会抛出ValueError
|
||||
# del语句:
|
||||
|
||||
# 功能:可以删除列表中的一个或多个元素(通过索引或切片),也可以删除整个列表,甚至删除变量本身
|
||||
# 语法:del list[index](删除单个元素)或del list[start:end](删除切片)
|
||||
# 返回值:无返回值
|
||||
# 异常:如果指定的索引或切片范围超出列表边界,会抛出IndexError
|
||||
# pop([index]):
|
||||
|
||||
# 功能:默认删除并返回列表中的最后一个元素。如果指定了index,则删除并返回该索引处的元素
|
||||
# 返回值:返回被删除的元素
|
||||
# 异常:如果列表为空或指定的index不存在,会抛出IndexError
|
||||
|
||||
|
||||
# 应用场景
|
||||
# 定义用于检查括号是否匹配的函数
|
||||
|
||||
# 创建一个简单的栈
|
||||
|
||||
|
||||
class SimpleStack:
|
||||
def __init__(self):
|
||||
self.items = []
|
||||
|
||||
def push(self, item):
|
||||
self.items.append(item)
|
||||
|
||||
def pop(self):
|
||||
if not self.is_empth():
|
||||
return self.items.pop()
|
||||
else:
|
||||
return None
|
||||
|
||||
def is_empth(self):
|
||||
return len(self.items) == 0
|
||||
|
||||
def peek(self):
|
||||
if not self.is_empth():
|
||||
return self.items[:-1]
|
||||
else:
|
||||
return None
|
||||
|
||||
|
||||
def is_balanced_parentheses(expression):
|
||||
stack = SimpleStack()
|
||||
pairs = {"(": ")", "{": "}", "[": "]"}
|
||||
|
||||
for char in expression:
|
||||
if pairs.get(char):
|
||||
stack.push(char)
|
||||
elif stack.is_empth() or pairs[stack.pop()] != char:
|
||||
return False
|
||||
return stack.is_empth()
|
||||
|
||||
|
||||
test_expressions = ["()", "()[]{}", "(]", "([)]", "{[]}"]
|
||||
for expr in test_expressions:
|
||||
# 输出每一个表达式的匹配结果
|
||||
print(f"'{expr}' 是否平衡: {is_balanced_parentheses(expr)}")
|
||||
Reference in New Issue
Block a user