python实现全排列
时间: 2023-04-04 22:03:45 浏览: 79
可以使用 itertools 模块中的 permutations 函数来实现全排列,示例代码如下:
```python
import itertools
lst = [1, 2, 3]
perms = itertools.permutations(lst)
for perm in perms:
print(perm)
```
输出结果为:
```
(1, 2, 3)
(1, 3, 2)
(2, 1, 3)
(2, 3, 1)
(3, 1, 2)
(3, 2, 1)
```
相关问题
用python实现全排列函数
可以使用Python的标准库`itertools`中的`permutations()`函数来实现全排列。
以下是一个示例代码:
```python
import itertools
def permute(nums):
return list(itertools.permutations(nums))
# 示例
nums = [1, 2, 3]
print(permute(nums)) # 输出 [(1, 2, 3), (1, 3, 2), (2, 1, 3), (2, 3, 1), (3, 1, 2), (3, 2, 1)]
```
该函数接受一个列表作为参数,返回该列表的所有全排列。
python 全排列
以下是一个使用递归实现的Python全排列的例子:
```python
def permutations(li):
if len(li) == 0:
yield li
else:
for i in range(len(li)):
li[0], li[i] = li[i], li[0]
for item in permutations(li[1:]):
yield [li[0]] + item
# 示例
for item in permutations(['a', 'b', 'c']):
print(item)
```
输出结果为:
```
['a', 'b', 'c']
['a', 'c', 'b']
['b', 'a', 'c']
['b', 'c', 'a']
['c', 'b', 'a']
['c', 'a', 'b']
```