对字符串进行匹配
def pipei(str1):
dict1 = {")": "(", "]": "[", "}": "{"}
list1 = []
for s in str1: # 遍历字符串
if s in dict1.values(): # 如果是左括号就入栈
list1.append(s)
elif s in dict1.keys(): # 如果是右括号
if not list1: # 判断栈是否为空,为空就返回false
return False
else:
temp = list1.pop() # 若不为空,弹出栈顶元素,判断是否和此时右括号是否匹配
if dict1[s] != temp:
return False
if not list1: # 若此时没有多余的左括号,则为真。
return True
else:
return False
str2 = "[[()]}" # 实例
print(pipei(str2))