Sắp xếp tất cả các thành viên của một tập hợp thành một số thứ tự hoặc trình tự và nếu tập hợp đã được sắp xếp, việc sắp xếp lại [sắp xếp lại] các phần tử của nó được gọi là hoán vị
Tạo tất cả các hoán vị bằng cách sử dụng vòng lặp for
Chúng tôi sẽ tạo hoán vị bằng cách sử dụng vòng lặp for -
Thí dụ
đầu ra
['4', '5', '6'] ['4', '6', '5'] ['5', '4', '6'] ['5', '6', '4'] ['6', '4', '5'] ['6', '5', '4']
Tạo tất cả các hoán vị bằng hàm permutations[]
Chúng ta sẽ tạo các hoán vị bằng cách sử dụng hàm permutations[] -
Thí dụ
đầu ra
Permutations [[1, 2], [2, 1]]
Tạo tất cả các hoán vị bằng cách sử dụng hoán vị [] trong hàm mở rộng []
Để tạo tất cả các hoán vị bằng cách sử dụng hàm expand[] -
Thí dụ
đầu ra
Permutations [[2,], [3,], [4,], [2, 3], [2, 4], [3, 2], [3, 4], [4, 2], [4, 3], [2, 3, 4], [2, 4, 3], [3, 2, 4], [3, 4, 2], [4, 2, 3], [4, 3, 2]]
Ví dụ. số cách chọn các ký tự từ
Permutations [[1, 2], [2, 1]]9 là
Permutations [[1, 2], [2, 1]]9,
Permutations [[2,], [3,], [4,], [2, 3], [2, 4], [3, 2], [3, 4], [4, 2], [4, 3], [2, 3, 4], [2, 4, 3], [3, 2, 4], [3, 4, 2], [4, 2, 3], [4, 3, 2]]1,
Permutations [[2,], [3,], [4,], [2, 3], [2, 4], [3, 2], [3, 4], [4, 2], [4, 3], [2, 3, 4], [2, 4, 3], [3, 2, 4], [3, 4, 2], [4, 2, 3], [4, 3, 2]]2,
Permutations [[2,], [3,], [4,], [2, 3], [2, 4], [3, 2], [3, 4], [4, 2], [4, 3], [2, 3, 4], [2, 4, 3], [3, 2, 4], [3, 4, 2], [4, 2, 3], [4, 3, 2]]3,
Permutations [[2,], [3,], [4,], [2, 3], [2, 4], [3, 2], [3, 4], [4, 2], [4, 3], [2, 3, 4], [2, 4, 3], [3, 2, 4], [3, 4, 2], [4, 2, 3], [4, 3, 2]]4,
yup ypu uyp upy puy pyu None0 và không chọn bất kỳ
Chúng tôi sẽ thực hiện tương tự trong các ví dụ sau
ví dụ 1. Sử dụng đệ quy
def get_permutation[string, i=0]:
if i == len[string]:
print["".join[string]]
for j in range[i, len[string]]:
words = [c for c in string]
# swap
words[i], words[j] = words[j], words[i]
get_permutation[words, i + 1]
print[get_permutation['yup']]
đầu ra
yup ypu uyp upy puy pyu None
Trong ví dụ này, đệ quy được sử dụng để tìm các hoán vị của chuỗi
Permutations [[1, 2], [2, 1]]9
- Điều kiện if in
yup ypu uyp upy puy pyu None
2 được truyền dưới dạng đối số nếu nó bằng độ dài củayup ypu uyp upy puy pyu None
3 - Trong mỗi lần lặp của vòng lặp for, mỗi ký tự của
Permutations [[1, 2], [2, 1]]
9 được lưu trữ trongyup ypu uyp upy puy pyu None
5 - Các thành phần của từ được hoán đổi. Bằng cách này, chúng tôi đạt được tất cả các kết hợp ký tự khác nhau
- Quá trình này tiếp tục cho đến khi đạt được chiều dài tối đa
ví dụ 2. Sử dụng itertools
from itertools import permutations
words = [''.join[p] for p in permutations['pro']]
print[words]
đầu ra
Permutations [[1, 2], [2, 1]]0
Sử dụng các hoán vị từ mô-đun
yup ypu uyp upy puy pyu None6, chúng ta có thể tìm thấy các hoán vị của một chuỗi
Trong hướng dẫn này, chúng ta sẽ tìm hiểu cách lấy hoán vị và kết hợp của một dữ liệu đã cho bằng Python. Chúng tôi sẽ sử dụng gói sẵn có của Python để tìm hoán vị và tổ hợp của một số nhất định
Hoán vị và tổ hợp là một phần thiết yếu trong toán học. Python cung cấp thư viện itertools có các hàm dựng sẵn để tính toán hoán vị và tổ hợp
Nhập thư viện bắt buộc
Để tính toán hoán vị và tổ hợp, chúng ta cần nhập thư viện itertools. Chúng ta có thể nhập nó bằng lệnh bên dưới
Câu lệnh trên sẽ nhập thư viện itertools và tạo đường dẫn đến chức năng của nó
Bây giờ, chúng ta cần tạo danh sách dãy làm đầu vào. Danh sách đầu vào này sẽ trả về bộ bao gồm hoán vị và tổ hợp. Chúng ta cũng có thể đặt độ dài của hoán vị và tổ hợp
Một hoán vị là một sự sắp xếp của một tập hợp trong đó thứ tự quan trọng. Mô-đun itertools của Python cung cấp phương thức hoán vị [] sẵn có để tìm hoán vị. Hãy hiểu ví dụ sau
Thí dụ -
đầu ra
Permutations [[1, 2], [2, 1]]2
Trong đoạn mã trên, chúng tôi đã nhập mô-đun itertools. Chúng tôi đã gọi phương thức hoán vị [] lấy chuỗi làm đối số và cung cấp đối tượng itertools. Cần sử dụng vòng lặp for để lấy từng hoán vị
Hãy lấy hai bộ hoán vị
Ví dụ - 2
đầu ra
Permutations [[1, 2], [2, 1]]3
Ví dụ - 3
đầu ra
Permutations [[1, 2], [2, 1]]4
Trong đoạn mã trên, chúng ta đã có sự kết hợp của nhiều số nguyên
Hoán vị của chiều dài cố định
Ta có thể tính hoán vị của tập độ dài cố định mà ta chỉ lấy một số xác định của mỗi hoán vị phần tử. Hãy hiểu ví dụ sau
Thí dụ -
đầu ra
Permutations [[1, 2], [2, 1]]5
Trong đoạn mã trên, chúng tôi đã tính toán hoán vị cố định bằng cách chuyển độ dài thành hai
Sự kết hợp của Chuỗi
Tổ hợp là tập hợp các phần tử mà thứ tự không quan trọng. Mô-đun itertools của Python cung cấp phương thức kết hợp [] để tính toán sự kết hợp của dữ liệu đã cho. Chúng ta có thể tính toán sự kết hợp của một chuỗi. Hãy hiểu ví dụ sau
Thí dụ -
đầu ra
Permutations [[1, 2], [2, 1]]3
Kết hợp với thay thế
Mô-đun itertools bao gồm một phương thức khác gọi là tổ hợp_with_replacement[] cũng xem xét sự kết hợp của chính một số. Hãy hiểu ví dụ của nó
Sự kết hợp của bộ số
đầu ra
Permutations [[1, 2], [2, 1]]7
Sự kết hợp của bộ số
Nếu đầu vào đã cho theo thứ tự được sắp xếp, các bộ dữ liệu kết hợp sẽ được trả về theo thứ tự được sắp xếp. Hãy hiểu ví dụ sau
Thí dụ -
đầu ra
Permutations [[1, 2], [2, 1]]8
Trong hướng dẫn này, chúng ta đã thảo luận về mô-đun itertools để tìm hoán vị và kết hợp của dữ liệu đã cho bằng cách sử dụng tập lệnh Python