python生成排列组合
时间: 2023-10-14 19:29:34 浏览: 108
Python实现排列组合生成算法
Python可以用itertools模块来生成排列组合。
1. 生成全排列
可以使用itertools.permutations()函数来生成全排列。
```python
import itertools
items = ['A', 'B', 'C']
permutations = itertools.permutations(items)
for p in permutations:
print(p)
```
输出结果为:
```
('A', 'B', 'C')
('A', 'C', 'B')
('B', 'A', 'C')
('B', 'C', 'A')
('C', 'A', 'B')
('C', 'B', 'A')
```
2. 生成组合
可以使用itertools.combinations()函数来生成组合。
```python
import itertools
items = ['A', 'B', 'C']
combinations = itertools.combinations(items, 2)
for c in combinations:
print(c)
```
输出结果为:
```
('A', 'B')
('A', 'C')
('B', 'C')
```
3. 生成排列组合
可以使用itertools.product()函数来生成排列组合。
```python
import itertools
items = ['A', 'B', 'C']
permutations = itertools.permutations(items, 2)
combinations = itertools.combinations(items, 2)
product = itertools.chain(permutations, combinations)
for p in product:
print(p)
```
输出结果为:
```
('A', 'B')
('A', 'C')
('B', 'A')
('B', 'C')
('C', 'A')
('C', 'B')
('A', 'B')
('A', 'C')
('B', 'C')
```
阅读全文