python 判定括号是否匹配
时间: 2024-10-10 14:04:33 浏览: 11
在Python中,判定括号(如()、[]、{})是否匹配是一个常见的字符串处理问题。你可以使用栈数据结构来解决这个问题。遍历输入的字符串,遇到左括号时将其压入栈中,遇到右括号时检查栈顶元素是否与其配对。如果匹配,则弹出栈顶元素;如果不匹配,或者遍历结束后栈非空,说明括号不匹配。
下面是一个简单的Python函数示例,用于判断括号是否匹配:
```python
def is_brackets_matched(s):
stack = []
pairs = {')': '(', ']': '[', '}': '{'}
for char in s:
if char in pairs.values():
stack.append(char)
elif char in pairs.keys():
if not stack or stack.pop() != pairs[char]:
return False
return not stack # 如果最后没有剩余的括号,说明匹配
# 示例
print(is_brackets_matched("()")) # 输出 True
print(is_brackets_matched("([)]")) # 输出 False
```
在这个函数中,我们使用了`pairs`字典来存储每种右括号对应的左括号。当遇到右括号时,如果栈为空或当前栈顶元素不是对应配对的左括号,就返回False表示不匹配。遍历完字符串后,如果栈为空,说明所有括号都已匹配,返回True。
阅读全文