繁体   English   中英

(Python)如何从拼接列表中提取括号之间的元素

[英](Python) How to extract elements between parentheses from a spliced list

所以我在做一个PEMDAS计算器,我设法做了除了括号之外的所有事情,所以我的问题是如何从这样的列表中提取: r = ["4","+","2","(","2","+","5",")"]

["2","+","5"]

如果代码是这样的,请更清楚地说明: r = ["4","+","2","(","2","+","5",")","+","(","2","+","5",")"]

这应该是输出 ["2","+","5","2","+","5"]

您可以使用此代码提取括号之间的数据。 所以你有一个包含你想要的数据的列表。

r = ["4","+","2","(","2","+","5",")"]
r_new = []
for i in range(len(r)):
    if r[i] == "(":
        i=i+1
        for j in range(len(r)-i):
            if(r[i+j]==")"):
                print(r_new)
                break
            else:
                r_new.append(r[i+j])

这对你有用吗?

r = ['4', '+', '2', '(', '2', '+', '5', ')', '+', '(', '2', '+', '5', ')']

index = [x for x,y in enumerate(r) if y == '(' or y == ')']

grouped_index = [[index[i*2],index[i*2+1]] for i in range(int(len(index)/2))]

grouped_value = [r[i[0]+1:i[1]] for i in grouped_index]

sum(grouped_value, [])

['2', '+', '5', '2', '+', '5']

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM