Thuật toán hoán vị trong python

Đoạn mã sau với Python 2.6 trở lên CHỈ

Đầu tiên, nhập khẩu itertools:

import itertools

Hoán vị [vấn đề đặt hàng]:

print list[itertools.permutations[[1,2,3,4], 2]]
[[1, 2], [1, 3], [1, 4],
[2, 1], [2, 3], [2, 4],
[3, 1], [3, 2], [3, 4],
[4, 1], [4, 2], [4, 3]]

Kết hợp [thứ tự KHÔNG quan trọng]:

print list[itertools.combinations['123', 2]]
[['1', '2'], ['1', '3'], ['2', '3']]

Sản phẩm của Cartesian [với một số lần lặp]:

print list[itertools.product[[1,2,3], [4,5,6]]]
[[1, 4], [1, 5], [1, 6],
[2, 4], [2, 5], [2, 6],
[3, 4], [3, 5], [3, 6]]

Sản phẩm của Cartesian [với một lần lặp và chính nó]:

print list[itertools.product[[1,2], repeat=3]]
[[1, 1, 1], [1, 1, 2], [1, 2, 1], [1, 2, 2],
[2, 1, 1], [2, 1, 2], [2, 2, 1], [2, 2, 2]]

256 hữu ích 2 bình luận chia sẻ

Chủ Đề