小编Sgt*_*ens的帖子

按字符串查找字符串中的所有括号 - Python 3

我正在尝试获取一个元组列表,其中包含字符串中所有括号集的索引.通过列表推导,我可以轻松地找到左右两个parens:

s = "12(34)567"

left_parens = [i for i,j in enumerate(s) if j == "("]
right_parens = left_parens = [i for i,j in enumerate(s) if j == ")"]
Run Code Online (Sandbox Code Playgroud)

将这些单独的列表转换为具有(左paren,右paren)对的元组列表的最合理的方法是使用zip函数.

parens = zip(right_parens,left_parens)
print(list(parens))
Run Code Online (Sandbox Code Playgroud)

从此我希望得到:

[(2,5)]
Run Code Online (Sandbox Code Playgroud)

但相反,我得到:

[(5,5)]
Run Code Online (Sandbox Code Playgroud)

即使我像这样切换订单:

parens = zip(left_parens,right_parens)
Run Code Online (Sandbox Code Playgroud)

结果仍然是[(5,5)].

我错过了什么?

在线尝试!

python tuples

2
推荐指数
1
解决办法
117
查看次数

标签 统计

python ×1

tuples ×1