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

Hoán vị có nghĩa là các thứ tự khác nhau theo đó các phần tử có thể được sắp xếp. Các phần tử có thể là 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ục theo những cách khác nhau. Python có các phương thức 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.  

Ví dụ: nếu chúng ta có ba quả bóng – ĐỎ XANH VÀNG

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

  • ĐỎ XANH VÀNG
  • ĐỎ VÀNG XANH
  • VÀNG ĐỎ XANH
  • VÀNG XANH ĐỎ
  • XANH ĐỎ VÀNG
  • XANH VÀNG ĐỎ

Tất cả đều là những cách sắp xếp khả thi 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ị.  

nội dung

Cú pháp hoán vị python

Python có một gói gọi là 'itertools' mà từ đó chúng ta có thể sử dụng hàm hoán vị và áp dụng nó trên các loại dữ liệu khác nhau. Tổng số hoán vị có thể bằng giai thừa độ dài [số 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.   

Để nhập hoán vị[] – từ itertools nhập hoán vị

Thông số-

  1. Có thể lặp lại - Ở đây, chúng ta phải vượt qua khả năng lặp lại của các hoán vị mà chúng ta muốn. Ví dụ về iterables- list, tuple, string, v.v.    
  2. 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ị

Ví dụ về hoán vị Python đơn giản

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

Output- 
[1, 2] 
[1, 3] 
[2, 1] 
[2, 3] 
[3, 1] 
[3, 2] 

Nếu chúng ta không chuyển 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 lần lặp.  

Ví dụ-

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] 

Chắc hẳn bạn đang thắc mắc tại sao chúng tôi lại lưu kết quả vào một biến và in kết quả bằng vòng lặp 'for'. Hãy xem điều gì sẽ xảy ra nếu chúng ta in biến.   

from itertools import permutations 
a=permutations[[1,2,3]] 
print[a] 

Output- 
  

Chúng tôi đang lấy đối tượng này làm đầu ra. Vì vậy, chúng ta phải sử dụng vòng lặp for để lặp qua biến này và nhận kết quả.   

Một cách khác để lấy đầu ra là lập một danh sách rồi in ra.  

from itertools import permutations 
print[list[permutations[[1,2,3]]]] 

Output- 
[[1, 2, 3], [1, 3, 2], [2, 1, 3], [2, 3, 1], [3, 1, 2], [3, 2, 1]] 

Sử dụng chức năng Hoán vị Python trên Chuỗi

Nếu chúng ta muốn tìm các thứ tự khác nhau trong đó một chuỗi có thể được sắp xếp, chúng ta có thể sử dụng chức năng hoán vị. Hãy để chúng tôi xem làm thế nào-

________số 8_______

Output- 
ASHU 
ASUH 
AHSU 
AHUS 
AUSH 
AUHS 
SAHU 
SAUH 
SHAU 
SHUA 
SUAH 
SUHA 
HASU 
HAUS 
HSAU 
HSUA 
HUAS 
HUSA 
UASH 
UAHS 
USAH 
USHA 
UHAS 
UHSA 

Nếu chúng ta muốn sắp xếp các phần tử này trong nhóm hai phần tử, chúng ta có thể làm như sau-

Output- 
[1, 2] 
[1, 3] 
[2, 1] 
[2, 3] 
[3, 1] 
[3, 2] 
0

Output- 
[1, 2] 
[1, 3] 
[2, 1] 
[2, 3] 
[3, 1] 
[3, 2] 
1

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

Tìm thứ tự theo thứ tự từ điển được sắp xếp

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ự đã sắp xếp nghĩa là tất cả các phần 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ì sắp xếp chúng dựa trên các phần tử tiếp theo, v.v.  

Output- 
[1, 2] 
[1, 3] 
[2, 1] 
[2, 3] 
[3, 1] 
[3, 2] 
2

Output- 
[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 danh sách

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

Output- 
[1, 2] 
[1, 3] 
[2, 1] 
[2, 3] 
[3, 1] 
[3, 2] 
4

Output- 
[1, 2] 
[1, 3] 
[2, 1] 
[2, 3] 
[3, 1] 
[3, 2] 
5

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

Output- 
[1, 2] 
[1, 3] 
[2, 1] 
[2, 3] 
[3, 1] 
[3, 2] 
6

Output- 
[1, 2] 
[1, 3] 
[2, 1] 
[2, 3] 
[3, 1] 
[3, 2] 
7

Hoán vị Python không có hàm tích hợp cho Chuỗi

Nếu chúng ta không muốn sử dụng chức năng có sẵn, chúng ta có thể tạo một số chức năng để đạt được mục tiêu này.  

Output- 
[1, 2] 
[1, 3] 
[2, 1] 
[2, 3] 
[3, 1] 
[3, 2] 
8

Output- 
[1, 2] 
[1, 3] 
[2, 1] 
[2, 3] 
[3, 1] 
[3, 2] 
9

Hoán vị Python không có hàm tích hợp cho Danh sách

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

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

Phải đọc

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

Phần kết luận

Có một số trường hợp sử dụng hoặc báo cáo vấn đề khi chúng ta cần tìm tất cả các thứ tự có thể có để sắp xếp các phần tử. Vì vậy, chúng tôi sử dụng hoán vị từ itertools. Một số người nhầm lẫn giữa tổ hợp và hoán vị python, trong hoán vị thì thứ tự quan trọng nhưng trong tổ hợp thì thứ tự không quan trọng.  

Các kết hợp trả về trong Python là gì?

kết hợp[] làm gì? . Các kết hợp được phát ra theo thứ tự sắp xếp từ điển. Vì vậy, nếu đầu vào có thể lặp lại được sắp xếp, các bộ dữ liệu kết hợp sẽ được tạo theo thứ tự đã sắp xếp. r length subsequences of elements from the input iterable. Combinations are emitted in lexicographic sort order. So, if the input iterable is sorted, the combination tuples will be produced in sorted order.

Hàm hoán vị hoạt động như thế nào trong Python?

Hoán vị có nghĩa là các thứ tự khác nhau để sắp xếp các phần tử . Các phần tử có thể là 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ục theo những cách khác nhau. Python có các phương thức 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.

Chức năng tích lũy trong Python là gì?

tích lũy[] . Nếu không có chức năng nào được thông qua, việc bổ sung sẽ diễn ra theo mặc định. Nếu iterable đầu vào trống, iterable đầu ra cũng sẽ trống. This iterator takes two arguments, iterable target and the function which would be followed at each iteration of value in target. If no function is passed, addition takes place by default. If the input iterable is empty, the output iterable will also be empty.

Chủ Đề