📜  Python – 匹配括号对

📅  最后修改于: 2022-05-13 01:55:02.968000             🧑  作者: Mango

Python – 匹配括号对

有时,在处理Python数据时,我们可能会遇到需要将所有元素与合适的右括号配对的问题,并且可以将数据与配对相关联。这类问题是堆栈数据结构的经典应用,可以跨多个领域使用。让我们讨论一下可以完成此任务的某种方式。

方法:使用堆栈 DS + 循环
上述功能的组合可以用来解决这个问题。在此,我们与每个左括号组成一个新的对,当相应的右括号使用 LIFO 技术时,我们与该右括号形成一个对。

# Python3 code to demonstrate working of 
# Matching Pairs of Brackets
# Using stack DS + loop
  
# initializing list
test_list = [('(', 7), ('(', 9), (')', 10), (')', 11), ('(', 15), (')', 100)]
  
# printing original list
print("The original list is : " + str(test_list))
  
# Matching Pairs of Brackets
# Using stack DS + loop
stck = []
res = []
for ele1, ele2 in test_list:
    if '(' in ele1:
        stck.append((ele1, ele2))
    elif ')' in ele1:
        res.append((stck.pop()[1], ele2))
  
# printing result 
print("The paired elements : " + str(res)) 
输出 :
The original list is : [('(', 7), ('(', 9), (')', 10), (')', 11), ('(', 15), (')', 100)]
The paired elements : [(9, 10), (7, 11), (15, 100)]