Hướng dẫn how do you find the permutations of an element in a list python? - làm thế nào để bạn tìm thấy các hoán vị của một phần tử trong một python danh sách?

Đầu tiên, nhập

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)]
2:

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)]

Sự kết hợp (đặt hàng không quan trọng):

print(list(itertools.combinations('123', 2)))

[('1', '2'), ('1', '3'), ('2', '3')]

Sản phẩm 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 điều có thể thay đổi 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)]

Hoán vị là một sự sắp xếp của các đối tượng theo một thứ tự cụ thể. Thứ tự sắp xếp đối tượng là rất quan trọng. Số lượng hoán vị trên một bộ các phần tử & nbsp; n & nbsp; được đưa ra bởi & nbsp; N!. & nbsp; ví dụ, có & nbsp; 2! = 2*1 = 2 & nbsp; hoán vị của & nbsp; {1, 2}, cụ thể là & nbsp; {1, 2} & nbsp; và & nbsp; = 3*2*1 = 6 & nbsp; hoán vị của & nbsp; {1, 2, 3}, cụ thể là & nbsp; {1, 2, 3}, & nbsp; {1, 3, 2}, & nbsp; & nbsp; {2, 3, 1}, & nbsp; {3, 1, 2} và & nbsp; {3, 2, 1}. & nbsp;
 

Phương pháp 1 (quay lại) & nbsp; chúng ta có thể sử dụng giải pháp đệ quy dựa trên backtracking được thảo luận ở đây.
We can use the backtracking based recursive solution discussed here.
Method 2 
The idea is to one by one extract all elements, place them at first position and recur for remaining list.
 

Python3

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)]
3
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)]
4

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)]
5
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)]
6
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)]
7
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)]
8
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)]
9
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)]
9
print(list(itertools.combinations('123', 2)))

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

[('1', '2'), ('1', '3'), ('2', '3')]
2

print(list(itertools.combinations('123', 2)))

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

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

[('1', '2'), ('1', '3'), ('2', '3')]
5

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)]
5
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)]
6
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)]
7
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)]
8
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)]
9
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)]
9
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)]
2
print(list(itertools.combinations('123', 2)))

[('1', '2'), ('1', '3'), ('2', '3')]
2

print(list(itertools.combinations('123', 2)))

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

[('1', '2'), ('1', '3'), ('2', '3')]
4
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)]
6

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)]
5
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)]
8
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)]
9
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)]
0

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)]
5
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)]
2
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)]
3
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)]
4
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)]
5
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)]
6
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)]
7
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)]
8

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)]
9
['1', '2', '3']
['1', '3', '2']
['2', '1', '3']
['2', '3', '1']
['3', '1', '2']
['3', '2', '1']
0
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)]
9
['1', '2', '3']
['1', '3', '2']
['2', '1', '3']
['2', '3', '1']
['3', '1', '2']
['3', '2', '1']
2

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)]
9
['1', '2', '3']
['1', '3', '2']
['2', '1', '3']
['2', '3', '1']
['3', '1', '2']
['3', '2', '1']
4
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)]
9
['1', '2', '3']
['1', '3', '2']
['2', '1', '3']
['2', '3', '1']
['3', '1', '2']
['3', '2', '1']
6
['1', '2', '3']
['1', '3', '2']
['2', '1', '3']
['2', '3', '1']
['3', '1', '2']
['3', '2', '1']
7
['1', '2', '3']
['1', '3', '2']
['2', '1', '3']
['2', '3', '1']
['3', '1', '2']
['3', '2', '1']
8
['1', '2', '3']
['1', '3', '2']
['2', '1', '3']
['2', '3', '1']
['3', '1', '2']
['3', '2', '1']
7__32

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)]
9
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)]
2
[(1, 2, 3), (1, 3, 2), (2, 1, 3), (2, 3, 1), (3, 1, 2), (3, 2, 1)] 
4
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)]
4
[(1, 2, 3), (1, 3, 2), (2, 1, 3), (2, 3, 1), (3, 1, 2), (3, 2, 1)] 
6

[(1, 2, 3), (1, 3, 2), (2, 1, 3), (2, 3, 1), (3, 1, 2), (3, 2, 1)] 
7
[(1, 2, 3), (1, 3, 2), (2, 1, 3), (2, 3, 1), (3, 1, 2), (3, 2, 1)] 
8
['1', '2', '3']
['1', '3', '2']
['2', '1', '3']
['2', '3', '1']
['3', '1', '2']
['3', '2', '1']
7
list1 = ["Ram", "Arun", "Kiran"]
list2 = [16, 78, 32, 67]
list3 = ["apple", "mango", 16, "cherry", 3.4]
0

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)]
5
print(list(itertools.combinations('123', 2)))

[('1', '2'), ('1', '3'), ('2', '3')]
4
list1 = ["Ram", "Arun", "Kiran"]
list2 = [16, 78, 32, 67]
list3 = ["apple", "mango", 16, "cherry", 3.4]
3

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)]
2
[(1, 2, 3), (1, 3, 2), (2, 1, 3), (2, 3, 1), (3, 1, 2), (3, 2, 1)] 
4
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)]
4
import itertools

list1 = [1, 2, 3]

perm = list(itertools.permutations(list1))

print(perm)
3

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)]
5
import itertools

list1 = [1, 2, 3]

perm = list(itertools.permutations(list1))

print(perm)
5
import itertools

list1 = [1, 2, 3]

perm = list(itertools.permutations(list1))

print(perm)
6

Output:

['1', '2', '3']
['1', '3', '2']
['2', '1', '3']
['2', '3', '1']
['3', '1', '2']
['3', '2', '1']

Phương pháp 3 (hàm trực tiếp) & nbsp; chúng ta có thể làm điều đó bằng cách sử dụng chức năng hoán vị tích hợp trong thư viện ITERTOOLS. Đó là kỹ thuật ngắn nhất để tìm thấy hoán vị. & NBSP;
We can do it by simply using the built-in permutation function in itertools library. It is the shortest technique to find the permutation.
 

Python3

import itertools

list1 = [1, 2, 3]

perm = list(itertools.permutations(list1))

print(perm)
7
import itertools

list1 = [1, 2, 3]

perm = list(itertools.permutations(list1))

print(perm)
8
import itertools

list1 = [1, 2, 3]

perm = list(itertools.permutations(list1))

print(perm)
9
import itertools
list1 = [1, 2, 3]
r = 2
perm = list(itertools.permutations(list1, r))
print(perm)
0

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)]
8
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)]
9
list1 = ["Ram", "Arun", "Kiran"]
list2 = [16, 78, 32, 67]
list3 = ["apple", "mango", 16, "cherry", 3.4]
6
import itertools
list1 = [1, 2, 3]
r = 2
perm = list(itertools.permutations(list1, r))
print(perm)
4
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)]
5
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)]
6
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)]
2
import itertools
list1 = [1, 2, 3]
r = 2
perm = list(itertools.permutations(list1, r))
print(perm)
8
import itertools
list1 = [1, 2, 3]
r = 2
perm = list(itertools.permutations(list1, r))
print(perm)
9
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)]
00

import itertools

list1 = [1, 2, 3]

perm = list(itertools.permutations(list1))

print(perm)
5
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)]
02

Output:

[(1, 2, 3), (1, 3, 2), (2, 1, 3), (2, 3, 1), (3, 1, 2), (3, 2, 1)] 

Bài viết này được đóng góp bởi Arpit Agarwal. Nếu bạn thích GeekSforGeeks và muốn đóng góp, bạn cũng có thể viết một bài viết và gửi bài viết của bạn. Xem bài viết của bạn xuất hiện trên trang chính của GeekSforGeek và giúp các chuyên viên máy tính khác. Xin vui lòng viết nhận xét nếu bạn tìm thấy bất cứ điều gì không chính xác hoặc bạn muốn chia sẻ thêm thông tin về chủ đề được thảo luận ở trên & NBSP;Arpit Agarwal. If you like GeeksforGeeks and would like to contribute, you can also write an article and mail your article to . See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above
 


Trong bài viết này, chúng tôi sẽ học cách tạo ra tất cả các hoán vị có thể của một danh sách trong Python. Chúng tôi sẽ sử dụng một số chức năng tích hợp và một số mã tùy chỉnh là tốt. Trước tiên chúng ta hãy có một cái nhìn nhanh về danh sách là gì và hoán vị trong Python là gì.

Danh sách Python

Python có một loại dữ liệu tích hợp được gọi là Danh sách. Nó giống như một tập hợp các mảng với phương pháp khác nhau. Dữ liệu bên trong danh sách có thể thuộc bất kỳ loại nói, số nguyên, chuỗi hoặc giá trị float hoặc thậm chí là loại danh sách. Danh sách sử dụng các giá trị được phân tách bằng dấu phẩy trong khung vuông để lưu trữ dữ liệu. Danh sách có thể được xác định bằng bất kỳ tên biến nào và sau đó gán các giá trị khác nhau cho danh sách trong khung vuông. Danh sách được đặt hàng, thay đổi và cho phép các giá trị trùng lặp. Ví dụ,

list1 = ["Ram", "Arun", "Kiran"]
list2 = [16, 78, 32, 67]
list3 = ["apple", "mango", 16, "cherry", 3.4]

Tất cả chúng ta đã nghe và nghiên cứu khái niệm hoán vị trong toán học, tương tự, Python hỗ trợ một số chức năng tích hợp để tạo hoán vị của một danh sách. Python cung cấp một công cụ thư viện tiêu chuẩn để tạo hoán vị bằng cách nhập gói

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)]
2 để thực hiện phương thức
import itertools
list1 = [1, 2, 3]
r = 2
perm = list(itertools.permutations(list1, r))
print(perm)
0 trong Python. Chúng tôi cũng sẽ thảo luận về phương pháp đệ quy để tạo ra tất cả các hoán vị có thể của một danh sách.

Ví dụ tạo hoán vị của một danh sách

Ví dụ dưới đây chuyển danh sách đã cho là một đối số cho hàm

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)]
05. Nó mặc định theo độ dài của danh sách và do đó tạo ra tất cả các hoán vị có thể.

import itertools

list1 = [1, 2, 3]

perm = list(itertools.permutations(list1))

print(perm)


[(1, 2, 3), (1, 3, 2), (2, 1, 3), (2, 3, 1), (3, 1, 2), (3, 2, 1)]]

Ví dụ: Tạo các hoán vị chiều dài 'r' liên tiếp của một danh sách

Ví dụ dưới đây chuyển danh sách và độ dài đã cho là một đối số cho hàm

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)]
05. Nó tạo ra các hoán vị của độ dài đã cho.

import itertools
list1 = [1, 2, 3]
r = 2
perm = list(itertools.permutations(list1, r))
print(perm)


[(1, 2), (1, 3), (2, 1), (2, 3), (3, 1), (3, 2)]]

Ví dụ: Tạo hoán vị của một danh sách

Ví dụ dưới đây lấy một danh sách trống để lưu trữ tất cả các hoán vị của tất cả độ dài có thể của một danh sách nhất định. Hàm

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)]
07 được sử dụng để thêm các mục vào danh sách trống lần lượt từng. Lặp lại các phần tử của danh sách bằng cách sử dụng vòng lặp, hàm
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)]
05 tìm thấy tất cả các độ dài có thể.

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)]
0


[(1,), (2,), (3,), (1, 2), (1, 3), (2, 1), (2, 3), (3, 1), (3, 2 ), (1, 2, 3), (1, 3, 2), (2, 1, 3), (2, 3, 1), (3, 1, 2), (3, 2, 1)]]

Ví dụ: Phương pháp đệ quy để tạo tất cả các hoán vị của một danh sách

Ví dụ dưới đây sử dụng đệ quy để tạo tất cả các hoán vị của một danh sách. Nó mặc định theo độ dài của danh sách và do đó tạo ra tất cả các hoán vị có thể.

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)]
1


[1, 2, 3] [1, 3, 2] [2, 1, 3] [2, 3, 1] [3, 1, 2] [3, 2, 1]
[1, 3, 2]
[2, 1, 3]
[2, 3, 1]
[3, 1, 2]
[3, 2, 1]

Sự kết luận

Trong bài viết này, chúng tôi đã học cách tạo tất cả các hoán vị có thể của một danh sách bằng cách sử dụng hàm

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)]
05 và phương thức
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)]
10. Chúng tôi đã thảo luận về chúng với các ví dụ khác nhau.

Làm thế nào để bạn tìm thấy tất cả các hoán vị của một danh sách trong Python?

Tìm tất cả các hoán vị của một chuỗi trong Python..
nhập itertools ..
Nếu __name__ == '__main__':.
s = 'abc'.
Nums = Danh sách (S).
hoán vị = danh sách (itertools. hoán vị (nums)).
# Đầu ra: ['ABC', 'ACB', 'BAC', 'BCA', 'Cab', 'CBA'].
in ([''. Tham gia (hoán vị) cho hoán vị trong hoán vị]).

Làm thế nào để bạn tìm thấy hoán vị của một danh sách?

Để tính toán số lượng hoán vị, hãy lấy số lượng khả năng cho mỗi sự kiện và sau đó nhân số đó với X lần tự x, trong đó x bằng số lượng sự kiện trong chuỗi.take the number of possibilities for each event and then multiply that number by itself X times, where X equals the number of events in the sequence.

Làm thế nào để bạn tính toán các khả năng trong Python?

Để tìm tất cả các hoán vị có thể của một chuỗi đã cho, bạn có thể sử dụng mô -đun ITERTOOLS có một phương thức hữu ích gọi là hoán vị (Itable [, R]).Phương pháp này trả về hoán vị chiều dài r liên tiếp của các phần tử trong các bộ dữ liệu có thể lặp lại.use the itertools module which has a useful method called permutations(iterable[, r]). This method return successive r length permutations of elements in the iterable as tuples.

Làm thế nào để bạn kiểm tra các hoán vị trong một chuỗi trong Python?

Phương pháp 2 (đếm ký tự)..
Tạo các mảng đếm có kích thước 256 cho cả hai chuỗi.Khởi tạo tất cả các giá trị trong các mảng đếm là 0 ..
Lặp lại thông qua mỗi ký tự của cả hai chuỗi và tăng số lượng ký tự trong các mảng đếm tương ứng ..
So sánh các mảng đếm.Nếu cả hai mảng đếm đều giống nhau, thì hãy trả về đúng ..