Chức năng hoán vị trong python là gì?

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
None
0 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ủa
    yup
    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ữ trong
    yup
    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
None
6, 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

Có chức năng hoán vị trong Python không?

Python cung cấp các phương pháp trực tiếp để tìm các hoán vị và tổ hợp của một dãy . Các phương thức này có trong gói itertools.

Hoán vị hoạt động như thế nào trong PyTorch?

permute() được sử dụng để thực hiện thao tác hoán vị trên tenxơ PyTorch. Nó trả về dạng xem của tenxơ đầu vào với kích thước được hoán vị . Nó không tạo một bản sao của tensor gốc. Ví dụ: một tenxơ có kích thước [2, 3] có thể được hoán vị thành [3, 2].

Hoán vị trong Python trả về cái gì?

itertools. hoán vị (có thể lặp lại [, r]) . Nếu không được chỉ định hoặc là Không có thì mặc định là độ dài của lần lặp và tất cả các hoán vị độ dài đầy đủ có thể được tạo. Các hoán vị được in theo thứ tự từ điển được sắp xếp. successive length permutations of elements in an iterable. If is not specified or is None , then defaults to the length of the iterable, and all possible full length permutations are generated. Permutations are printed in a lexicographic sorted order.

Hoán vị của chuỗi trong Python là gì?

Hoán vị, còn được gọi là "số sắp xếp" hoặc "thứ tự", là sự sắp xếp lại các phần tử của danh sách có thứ tự S thành tương ứng một đối một với S . Xâu có độ dài n có n. . A string of length n has n!