Hướng dẫn what are permutations in python? - hoán vị trong python là gì?

Python cung cấp các phương pháp trực tiếp để tìm hoán vị và kết hợp một chuỗi. Các phương pháp này có mặt trong gói itertools.

Permutation  

Đầu tiên nhập gói ITERTOOLS để thực hiện phương thức hoán vị trong Python. Phương thức này lấy một danh sách làm đầu vào và trả về một danh sách đối tượng các bộ dữ liệu có chứa tất cả các hoán vị trong một biểu mẫu danh sách. & Nbsp; & nbsp;
 

Python3

(1, 2)
(1, 3)
(2, 3)
8
(1, 2)
(1, 3)
(2, 3)
9
(1, 2)
(1, 3)
(2, 3)
0
(1, 2)
(1, 3)
(2, 3)
1

(1, 2)
(1, 3)
(2, 3)
2
(1, 2)
(1, 3)
(2, 3)
3
(1, 2)
(1, 3)
(2, 3)
4
(1, 2)
(1, 3)
(2, 3)
5
(1, 2)
(1, 3)
(2, 3)
6
(1, 2)
(1, 3)
(2, 3)
7
(1, 2)
(1, 3)
(2, 3)
6
(1, 2)
(1, 3)
(2, 3)
9
(2, 1)
(2, 3)
(1, 3)
0

(2, 1)
(2, 3)
(1, 3)
1
(2, 1)
(2, 3)
(1, 3)
2
(2, 1)
(2, 3)
(1, 3)
3
(2, 1)
(2, 3)
(1, 3)
4
(2, 1)
(2, 3)
(1, 3)
5

(2, 1)
(2, 3)
(1, 3)
6
(2, 1)
(2, 3)
(1, 3)
7
(2, 1)
(2, 3)
(1, 3)
8

Output:  

(1, 2, 3)
(1, 3, 2)
(2, 1, 3)
(2, 3, 1)
(3, 1, 2)
(3, 2, 1)

Nó tạo ra n! hoán vị nếu độ dài của chuỗi đầu vào là n. & nbsp; nếu muốn & nbsp; để có được hoán vị có độ dài l sau đó thực hiện nó theo cách này. & nbsp; & nbsp;
If want  to get permutations of length L then implement it in this way. 
 

Python3

(1, 2)
(1, 3)
(2, 3)
8
(1, 2)
(1, 3)
(2, 3)
9
(1, 2)
(1, 3)
(2, 3)
0
(1, 2)
(1, 3)
(2, 3)
1

(1, 2)
(1, 3)
(2, 3)
2
(1, 2)
(1, 3)
(2, 3)
3
(1, 2)
(1, 3)
(2, 3)
4
(1, 2)
(1, 3)
(2, 3)
5
(1, 2)
(1, 3)
(2, 3)
6
(1, 2)
(1, 3)
(2, 3)
7
(1, 2)
(1, 3)
(2, 3)
6
(1, 2)
(1, 3)
(2, 3)
9
(2, 1)
(2, 3)
(1, 3)
0

(2, 1)
(2, 3)
(1, 3)
1
(2, 1)
(2, 3)
(1, 3)
2
(2, 1)
(2, 3)
(1, 3)
3
(2, 1)
(2, 3)
(1, 3)
4
(2, 1)
(2, 3)
(1, 3)
5

(2, 1)
(2, 3)
(1, 3)
6
(2, 1)
(2, 3)
(1, 3)
7
(2, 1)
(2, 3)
(1, 3)
8

Output: 

(1, 2)
(1, 3)
(2, 1)
(2, 3)
(3, 1)
(3, 2)

Nó tạo ra n! hoán vị nếu độ dài của chuỗi đầu vào là n. & nbsp; nếu muốn & nbsp; để có được hoán vị có độ dài l sau đó thực hiện nó theo cách này. & nbsp; & nbsp;

Combination  

(1, 2)
(1, 3)
(2, 3)
2
(1, 2)
(1, 3)
(2, 3)
3
(1, 2)
(1, 3)
(2, 3)
4
(1, 2)
(1, 3)
(2, 3)
5
(1, 2)
(1, 3)
(2, 3)
6
(1, 2)
(1, 3)
(2, 3)
7
(1, 2)
(1, 3)
(2, 3)
6
(1, 2)
(1, 3)
(2, 3)
9
from itertools import permutations 
a=permutations ([1,2,3],2) 
for i in a: 
  print(i) 
1
(1, 2)
(1, 3)
(2, 3)
7
from itertools import permutations 
a=permutations ([1,2,3],2) 
for i in a: 
  print(i) 
3
 

Python3

Nó tạo ra ncr * r! hoán vị Nếu độ dài của chuỗi đầu vào là n và tham số đầu vào là r.

Phương thức này lấy một danh sách và đầu vào r làm đầu vào và trả về một danh sách đối tượng các bộ dữ liệu chứa tất cả các kết hợp có thể có của độ dài r trong một biểu mẫu danh sách. & Nbsp; & nbsp;

(1, 2)
(1, 3)
(2, 3)
8
(1, 2)
(1, 3)
(2, 3)
9
(1, 2)
(1, 3)
(2, 3)
0
Output- 
(1, 2) 
(1, 3) 
(2, 1) 
(2, 3) 
(3, 1) 
(3, 2) 
5

Output- 
(1, 2) 
(1, 3) 
(2, 1) 
(2, 3) 
(3, 1) 
(3, 2) 
6
(1, 2)
(1, 3)
(2, 3)
3
Output- 
(1, 2) 
(1, 3) 
(2, 1) 
(2, 3) 
(3, 1) 
(3, 2) 
8
(1, 2)
(1, 3)
(2, 3)
5
(1, 2)
(1, 3)
(2, 3)
6
(1, 2)
(1, 3)
(2, 3)
7
(1, 2)
(1, 3)
(2, 3)
6
(1, 2)
(1, 3)
(2, 3)
9
from itertools import permutations 
a=permutations ([1,2,3],2) 
for i in a: 
  print(i) 
1
(1, 2)
(1, 3)
(2, 3)
7
from itertools import permutations 
a=permutations([1,2,3]) 
for i in a: 
   print(i) 
6

Output:  

(1, 2)
(1, 3)
(2, 3)

(2, 1)
(2, 3)
(1, 3)
1
(2, 1)
(2, 3)
(1, 3)
2
(2, 1)
(2, 3)
(1, 3)
3
(2, 1)
(2, 3)
(1, 3)
4
Output- 
(1, 2, 3) 
(1, 3, 2) 
(2, 1, 3) 
(2, 3, 1) 
(3, 1, 2) 
(3, 2, 1) 
1
 

Python3

(2, 1)
(2, 3)
(1, 3)
6
(2, 1)
(2, 3)
(1, 3)
7
Output- 
(1, 2, 3) 
(1, 3, 2) 
(2, 1, 3) 
(2, 3, 1) 
(3, 1, 2) 
(3, 2, 1) 
4

1. Kết hợp được phát ra theo thứ tự sắp xếp từ vựng của đầu vào. Vì vậy, nếu danh sách đầu vào được sắp xếp, các bộ dữ liệu kết hợp sẽ được tạo theo thứ tự được sắp xếp. & Nbsp; & nbsp;

(1, 2)
(1, 3)
(2, 3)
8
(1, 2)
(1, 3)
(2, 3)
9
(1, 2)
(1, 3)
(2, 3)
0
Output- 
(1, 2, 3) 
(1, 3, 2) 
(2, 1, 3) 
(2, 3, 1) 
(3, 1, 2) 
(3, 2, 1) 
8

Output- 
(1, 2) 
(1, 3) 
(2, 1) 
(2, 3) 
(3, 1) 
(3, 2) 
6
(1, 2)
(1, 3)
(2, 3)
3
Output- 
(1, 2) 
(1, 3) 
(2, 1) 
(2, 3) 
(3, 1) 
(3, 2) 
8
(1, 2)
(1, 3)
(2, 3)
5
(1, 2)
(1, 3)
(2, 3)
6
(1, 2)
(1, 3)
(2, 3)
7
(1, 2)
(1, 3)
(2, 3)
6
(1, 2)
(1, 3)
(2, 3)
9
from itertools import permutations 
a=permutations ([1,2,3],2) 
for i in a: 
  print(i) 
1
(1, 2)
(1, 3)
(2, 3)
7
from itertools import permutations 
a=permutations([1,2,3]) 
for i in a: 
   print(i) 
6

Output: 

(1, 2)
(1, 3)
(2, 3)

(2, 1)
(2, 3)
(1, 3)
1
(2, 1)
(2, 3)
(1, 3)
2
(2, 1)
(2, 3)
(1, 3)
3
(2, 1)
(2, 3)
(1, 3)
4
Output- 
(1, 2, 3) 
(1, 3, 2) 
(2, 1, 3) 
(2, 3, 1) 
(3, 1, 2) 
(3, 2, 1) 
1
 

Python3

(2, 1)
(2, 3)
(1, 3)
6
(2, 1)
(2, 3)
(1, 3)
7
Output- 
(1, 2, 3) 
(1, 3, 2) 
(2, 1, 3) 
(2, 3, 1) 
(3, 1, 2) 
(3, 2, 1) 
4

1. Kết hợp được phát ra theo thứ tự sắp xếp từ vựng của đầu vào. Vì vậy, nếu danh sách đầu vào được sắp xếp, các bộ dữ liệu kết hợp sẽ được tạo theo thứ tự được sắp xếp. & Nbsp; & nbsp;

(1, 2)
(1, 3)
(2, 3)
8
(1, 2)
(1, 3)
(2, 3)
9
(1, 2)
(1, 3)
(2, 3)
0
Output- 
(1, 2, 3) 
(1, 3, 2) 
(2, 1, 3) 
(2, 3, 1) 
(3, 1, 2) 
(3, 2, 1) 
8

Output- 
(1, 2) 
(1, 3) 
(2, 1) 
(2, 3) 
(3, 1) 
(3, 2) 
6
(1, 2)
(1, 3)
(2, 3)
3
Output- 
(1, 2) 
(1, 3) 
(2, 1) 
(2, 3) 
(3, 1) 
(3, 2) 
8
(1, 2)
(1, 3)
(2, 3)
5
(1, 2)
(1, 3)
(2, 3)
6
(1, 2)
(1, 3)
(2, 3)
7
(1, 2)
(1, 3)
(2, 3)
6
(1, 2)
(1, 3)
(2, 3)
9
from itertools import permutations 
a=permutations ([1,2,3],2) 
for i in a: 
  print(i) 
1
(1, 2)
(1, 3)
(2, 3)
7
from itertools import permutations 
a=permutations([1,2,3]) 
for i in a: 
   print(i) 
6

Output: 

(2, 1)
(2, 3)
(1, 3)

(2, 1)
(2, 3)
(1, 3)
1
(2, 1)
(2, 3)
(1, 3)
2
(2, 1)
(2, 3)
(1, 3)
3
(2, 1)
(2, 3)
(1, 3)
4
Output- 
(1, 2, 3) 
(1, 3, 2) 
(2, 1, 3) 
(2, 3, 1) 
(3, 1, 2) 
(3, 2, 1) 
1
 

Python3

(2, 1)
(2, 3)
(1, 3)
6
(2, 1)
(2, 3)
(1, 3)
7
Output- 
(1, 2, 3) 
(1, 3, 2) 
(2, 1, 3) 
(2, 3, 1) 
(3, 1, 2) 
(3, 2, 1) 
4

1. Kết hợp được phát ra theo thứ tự sắp xếp từ vựng của đầu vào. Vì vậy, nếu danh sách đầu vào được sắp xếp, các bộ dữ liệu kết hợp sẽ được tạo theo thứ tự được sắp xếp. & Nbsp; & nbsp;

(1, 2)
(1, 3)
(2, 3)
8
(1, 2)
(1, 3)
(2, 3)
9
(1, 2)
(1, 3)
(2, 3)
0
Output- 
(1, 2, 3) 
(1, 3, 2) 
(2, 1, 3) 
(2, 3, 1) 
(3, 1, 2) 
(3, 2, 1) 
8

(2, 1)
(2, 3)
(1, 3)
6
(2, 1)
(2, 3)
(1, 3)
7
(2, 1)
(2, 3)
(1, 3)
8

Output:

(1, 1)
(1, 2)
(1, 3)
(2, 2)
(2, 3)
(3, 3) 

Hán có nghĩa là các đơn đặt hàng khác nhau mà các yếu tố có thể được sắp xếp. Các yếu tố có thể là của một chuỗi hoặc một danh sách hoặc bất kỳ loại dữ liệu nào khác. Đó là sự sắp xếp lại các mặt hàng theo những cách khác nhau. Python có các phương pháp khác nhau bên trong một gói có tên Itertools, có thể giúp chúng ta đạt được hoán vị Python. & NBSP;

Ví dụ, nếu chúng ta có ba quả bóng - màu xanh lá cây màu đỏ đỏ & nbsp;RED BLUE YELLOW 

Chúng ta có thể sắp xếp khác nhau cho quả bóng này. & NBSP;

  • Màu xanh đỏ vàng & nbsp; & nbsp;
  • Màu xanh lá cây màu vàng đỏ & nbsp;
  • Màu đỏ vàng & NBSP màu vàng;
  • Màu xanh vàng & NBSP màu vàng;
  • Màu xanh đỏ vàng & nbsp;
  • Màu vàng xanh & nbsp; & nbsp;

Tất cả đều là những sắp xếp có thể trong đó thứ tự là cần thiết và không có sự lặp lại, và điều này được gọi là hoán vị. & NBSP;

  • Cú pháp của hoán vị Python
    • Parameters- 
  • Ví dụ cho hoán vị python đơn giản
  • Sử dụng chức năng hoán vị python trên chuỗi & nbsp;
  • Tìm thứ tự theo thứ tự sắp xếp từ vựng & nbsp;
  • Sử dụng chức năng hoán vị Python trên danh sách & nbsp;
  • Python hoán vị không có chức năng tích hợp cho chuỗi
  • Python hoán vị không có chức năng tích hợp cho danh sách
  • Phải đọc
  • Sự kết luận

Cú pháp của hoán vị Python

Ví dụ cho hoán vị python đơn giản ‘itertools’ from which we can use the permutations function and apply it on different data types. The number of total permutation possible is equal to the factorial of length (number of elements). In our case, as we have 3 balls, 3! = 3*2*1 = 6.  

Sử dụng chức năng hoán vị python trên chuỗi & nbsp;

Parameters- 

  1. Python có một gói gọi là ‘itertools, từ đó chúng ta có thể sử dụng chức năng hoán vị và áp dụng nó trên các loại dữ liệu khác nhau. Số lượng tổng số hoán vị có thể bằng với giai đoạn độ dài (số lượng phần tử). Trong trường hợp của chúng tôi, vì chúng tôi có 3 quả bóng, 3! = 3*2*1 = 6. & nbsp; & nbsp;
  2. Để nhập hoán vị () - từ các hoán vị nhập khẩu itertools & nbsp;

Ví dụ cho hoán vị python đơn giản

from itertools import permutations 
a=permutations ([1,2,3],2) 
for i in a: 
  print(i) 

Sử dụng chức năng hoán vị python trên chuỗi & nbsp;
Hướng dẫn what are permutations in python? - hoán vị trong python là gì?

If we do not pass any argument in the second parameter, the default value is set as the length of the iterable. 

Python có một gói gọi là ‘itertools, từ đó chúng ta có thể sử dụng chức năng hoán vị và áp dụng nó trên các loại dữ liệu khác nhau. Số lượng tổng số hoán vị có thể bằng với giai đoạn độ dài (số lượng phần tử). Trong trường hợp của chúng tôi, vì chúng tôi có 3 quả bóng, 3! = 3*2*1 = 6. & nbsp; & nbsp;

from itertools import permutations 
a=permutations([1,2,3]) 
for i in a: 
   print(i) 

Output- 
(1, 2, 3) 
(1, 3, 2) 
(2, 1, 3) 
(2, 3, 1) 
(3, 1, 2) 
(3, 2, 1) 

Để nhập hoán vị () - từ các hoán vị nhập khẩu itertools & nbsp;‘for’ loop. Let’s see what if we print the variable.  

(1, 2)
(1, 3)
(2, 1)
(2, 3)
(3, 1)
(3, 2)
0

(1, 2)
(1, 3)
(2, 1)
(2, 3)
(3, 1)
(3, 2)
1

Có thể lặp lại - Ở đây, chúng ta phải vượt qua sự khác biệt của những người mà chúng ta muốn. Ví dụ về Liệt kê lặp đi lặp lại, Tuple, String, vv & nbsp; & nbsp;

Kích thước- Trong tham số này, chúng ta phải chỉ định số lượng phần tử trong mỗi hoán vị.

Output- 
(1, 2) 
(1, 3) 
(2, 1) 
(2, 3) 
(3, 1) 
(3, 2) 
nếu chúng tôi không vượt qua bất kỳ đối số nào trong tham số thứ hai, giá trị mặc định được đặt làm độ dài của ITEBLE. & NBSP;

(1, 2)
(1, 3)
(2, 1)
(2, 3)
(3, 1)
(3, 2)
3

Sử dụng chức năng hoán vị python trên chuỗi & nbsp;

Python có một gói gọi là ‘itertools, từ đó chúng ta có thể sử dụng chức năng hoán vị và áp dụng nó trên các loại dữ liệu khác nhau. Số lượng tổng số hoán vị có thể bằng với giai đoạn độ dài (số lượng phần tử). Trong trường hợp của chúng tôi, vì chúng tôi có 3 quả bóng, 3! = 3*2*1 = 6. & nbsp; & nbsp;

(1, 2)
(1, 3)
(2, 1)
(2, 3)
(3, 1)
(3, 2)
4

(1, 2)
(1, 3)
(2, 1)
(2, 3)
(3, 1)
(3, 2)
5

Để nhập hoán vị () - từ các hoán vị nhập khẩu itertools & nbsp;

(1, 2)
(1, 3)
(2, 1)
(2, 3)
(3, 1)
(3, 2)
6

(1, 2)
(1, 3)
(2, 1)
(2, 3)
(3, 1)
(3, 2)
7

Bạn có thể nhận thấy rằng tổng số kết quả bằng với giai thừa về kích thước chúng tôi đang cung cấp cho tham số thứ 2. & NBSP;

Tìm thứ tự theo thứ tự sắp xếp từ vựng & nbsp;

Nếu chúng ta muốn tìm tất cả các hoán vị của một chuỗi theo thứ tự được sắp xếp từ vựng có nghĩa là tất cả các yếu tố được sắp xếp theo thứ tự bảng chữ cái và nếu phần tử đầu tiên bằng nhau thì hãy phân loại chúng dựa trên các phần tử tiếp theo, v.v. & NBSP; arranged in alphabetical order and if the first element is equal then sorting them based on the next elements and so on. 

(1, 2)
(1, 3)
(2, 1)
(2, 3)
(3, 1)
(3, 2)
8

(1, 2)
(1, 3)
(2, 1)
(2, 3)
(3, 1)
(3, 2)
9

Sử dụng chức năng hoán vị Python trên danh sách & nbsp;

Bây giờ, nếu chúng ta muốn tìm tất cả các đơn đặt hàng có thể trong đó một danh sách có thể được sắp xếp, chúng ta có thể sử dụng phương pháp tương tự như chúng ta đã làm cho chuỗi. & NBSP;

(1, 2)
(1, 3)
(2, 3)
0

(1, 2)
(1, 3)
(2, 3)
1

Chúng ta cũng có thể tìm thấy số lượng các cách mà chúng ta có thể sắp xếp lại danh sách bằng một dòng mã và nbsp;

(1, 2)
(1, 3)
(2, 3)
2

(1, 2)
(1, 3)
(2, 3)
3

Python hoán vị không có chức năng tích hợp cho chuỗi

Nếu chúng ta không muốn sử dụng chức năng tích hợp, chúng ta có thể thực hiện một số chức năng để đạt được mục tiêu này. & NBSP;

(1, 2)
(1, 3)
(2, 3)
4

(1, 2)
(1, 3)
(2, 3)
5

Python hoán vị không có chức năng tích hợp cho danh sách

(1, 2)
(1, 3)
(2, 3)
6

(1, 2)
(1, 3)
(2, 3)
7

Phải đọc

  • Cách chuyển đổi chuỗi thành chữ thường trong
  • Cách tính toán căn bậc hai
  • Đầu vào của người dùng |Đầu vào () hàm |Đầu vào bàn phím
  • Cuốn sách hay nhất để học Python

Sự kết luận

Có một số trường hợp sử dụng hoặc tuyên bố vấn đề khi chúng ta cần tìm tất cả các đơn đặt hàng có thể trong đó các yếu tố có thể được sắp xếp.Vì vậy, chúng tôi sử dụng hoán vị từ itertools.Một số người bị nhầm lẫn giữa các kết hợp và hoán vị Python, trong các hoán vị, vấn đề đặt hàng nhưng trong các kết hợp, lệnh không quan trọng. & Nbsp;in permutations the order matters but in combinations, the order doesn’t matter.