小编T P*_*T P的帖子

Python itertools 不重复的排列

我有一个字符串显示 mxn 网格中的步骤,就像这个问题: https ://leetcode.com/problems/unique-paths/

step = 'DDRR'
Run Code Online (Sandbox Code Playgroud)

D 表示“向下”,R 表示“向右” 我想显示无需替换的排列,我发现 Python 内置了 itertools。但是它说:

元素根据其位置而不是其值被视为唯一。因此,如果输入元素是唯一的,则不会有重复值。

因此,当我使用 itertools.permutation(step,4) 时,它包含许多重复。

>>> itertools.permutations(step,4)
('D', 'D', 'R', 'R')
('D', 'R', 'D', 'R')
('D', 'R', 'R', 'D')
('D', 'R', 'D', 'R')
('D', 'R', 'R', 'D')
('D', 'D', 'R', 'R')
('D', 'D', 'R', 'R')
('D', 'R', 'D', 'R')
('D', 'R', 'R', 'D')
('D', 'R', 'D', 'R')
('D', 'R', 'R', 'D')
('R', 'D', 'D', 'R')
('R', 'D', 'R', 'D')
('R', 'D', 'D', 'R')
('R', 'D', 'R', …
Run Code Online (Sandbox Code Playgroud)

python permutation combinatorics python-itertools

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