小编Min*_*yan的帖子

在python中生成列表的所有组合

这是问题:

给定Python中的项目列表,我将如何获取项目的所有可能组合?

在这个网站上有几个类似的问题,建议使用itertools.combine,但这只返回我需要的一部分:

stuff = [1, 2, 3]
for L in range(0, len(stuff)+1):
    for subset in itertools.combinations(stuff, L):
        print(subset)

()
(1,)
(2,)
(3,)
(1, 2)
(1, 3)
(2, 3)
(1, 2, 3)
Run Code Online (Sandbox Code Playgroud)

如你所见,它只返回严格顺序的项目,而不是返回(2,1),(3,2),(3,1),(2,1,3),(3,1,2),( 2,3,1)和(3,2,1).有一些解决方法吗?我似乎无法想出任何东西.

python combinations list

24
推荐指数
3
解决办法
6万
查看次数

如何使用正则表达式处理嵌套括号?

我想出了一个正则表达式字符串,它将给定的文本解析为3个类别:

  • 在括号内
  • 括号内的
  • 都不是.

像这样:

\[.+?\]|\(.+?\)|[\w+ ?]+
Run Code Online (Sandbox Code Playgroud)

我的目的是仅使用最外层的运算符.所以,给定a(b[c]d)e,分裂将是:

a || (b[c]d) || e
Run Code Online (Sandbox Code Playgroud)

它在括号内的括号或括号内的括号中工作正常,但在括号内的括号和括号内的括号时会分解.例如,a[b[c]d]e被拆分为

a || [b[c] || d || ] || e.
Run Code Online (Sandbox Code Playgroud)

有没有办法单独使用正则表达式来处理这个问题,而不是使用代码来计算打开/关闭括号的数量?谢谢!

python regex

5
推荐指数
1
解决办法
899
查看次数

标签 统计

python ×2

combinations ×1

list ×1

regex ×1